def start(self, prereqs = None):
        if prereqs is None:
            self.__typeDesc.chassis['hitTester'].loadBspModel()
            self.__typeDesc.hull['hitTester'].loadBspModel()
            self.__typeDesc.turret['hitTester'].loadBspModel()
        for hitTester in self.__typeDesc.getHitTesters():
            hitTester.loadBspModel()

        self.__compoundModel = prereqs[self.__typeDesc.name]
        self.__boundEffects = bound_effects.ModelBoundEffects(self.__compoundModel)
        fashions = camouflages.prepareFashions(self.__typeDesc, self.__currentDamageState.isCurrentModelDamaged, self.__getCamouflageParams(self.__typeDesc, self.__vID)[0])
        if not self.__currentDamageState.isCurrentModelDamaged:
            self.__trackFashionSet = _setupVehicleFashion(fashions[0], self.__typeDesc)
        self.__compoundModel.setupFashions(fashions)
        fashions = camouflages.applyCamouflage(self.__typeDesc, fashions, self.__currentDamageState.isCurrentModelDamaged, self.__getCamouflageParams(self.__typeDesc, self.__vID)[0])
        fashions = camouflages.applyRepaint(self.__typeDesc, fashions)
        self.__setFashions(fashions, self.__isTurretDetached)
        self.__setupModels()
        if not VehicleDamageState.isDamagedModel(self.__currentDamageState.modelState):
            self.__splineTracks = setupSplineTracks(self.__fashion, self.__typeDesc, self.__compoundModel, prereqs)
        if self.__currentDamageState.effect is not None:
            self.__playEffect(self.__currentDamageState.effect, SpecialKeyPointNames.STATIC)
        if self.__currentDamageState.isCurrentModelDamaged:
            self.__trackScrollCtl = None
            self.__crashedTracksCtrl = None
        else:
            self.__crashedTracksCtrl = CrashedTrackController(self.__typeDesc, self.__fashion)
        return
Exemplo n.º 2
0
 def receiveShotImpulse(self, dir, impulse):
     if BattleReplay.isPlaying(
     ) and BattleReplay.g_replayCtrl.isTimeWarpInProgress:
         return
     if not VehicleDamageState.isDamagedModel(
             self.__currentDamageState.modelState):
         self.__swingingAnimator.receiveShotImpulse(dir, impulse)
         self.__crashedTracksCtrl.receiveShotImpulse(dir, impulse)
 def receiveShotImpulse(self, dir, impulse):
     if BattleReplay.isPlaying() and BattleReplay.g_replayCtrl.isTimeWarpInProgress:
         return
     else:
         if not VehicleDamageState.isDamagedModel(self.__currentDamageState.modelState):
             self.__swingingAnimator.receiveShotImpulse(dir, impulse)
             if self.__crashedTracksCtrl is not None:
                 self.__crashedTracksCtrl.receiveShotImpulse(dir, impulse)
         return
Exemplo n.º 4
0
 def start(self, vehicle, prereqs=None):
     self.__vehicle = vehicle
     player = BigWorld.player()
     if prereqs is None:
         self.__typeDesc.chassis['hitTester'].loadBspModel()
         self.__typeDesc.hull['hitTester'].loadBspModel()
         self.__typeDesc.turret['hitTester'].loadBspModel()
     if not self.__isPillbox:
         self.__filter.isStrafing = vehicle.isStrafing
         self.__filter.vehicleCollisionCallback = player.handleVehicleCollidedVehicle
     self.__originalFilter = vehicle.filter
     vehicle.filter = self.__filter
     enableNewPhysics = vehicle.physicsMode == VEHICLE_PHYSICS_MODE.DETAILED
     vehicle.filter.enableNewPhysics(enableNewPhysics)
     vehicle.filter.enableStabilisedMatrix(vehicle.isPlayerVehicle)
     self.__createStickers(prereqs)
     self.__compoundModel = prereqs[self.__typeDesc.name]
     self.__compoundModel.isHighPriorityReflection = vehicle.isPlayerVehicle
     self.__boundEffects = bound_effects.ModelBoundEffects(
         self.__compoundModel)
     fashions = camouflages.prepareFashions(
         self.__typeDesc, self.__currentDamageState.isCurrentModelDamaged,
         self.__getCamouflageParams(vehicle)[0],
         vehicle.physicsMode == VEHICLE_PHYSICS_MODE.DETAILED)
     if not self.__currentDamageState.isCurrentModelDamaged:
         _setupVehicleFashion(self, fashions[0], self.__vehicle)
     self.__compoundModel.setupFashions(fashions)
     fashions = camouflages.applyCamouflage(
         self.__typeDesc, fashions,
         self.__currentDamageState.isCurrentModelDamaged,
         self.__getCamouflageParams(vehicle)[0])
     fashions = camouflages.applyRepaint(self.__typeDesc, fashions)
     self.fashions = fashions
     self.__setupModels(True)
     if not VehicleDamageState.isDamagedModel(
             self.__currentDamageState.modelState):
         self.__splineTracks = setupSplineTracks(
             self.__fashion, self.__vehicle.typeDescriptor,
             self.__compoundModel, prereqs)
     if self.__currentDamageState.effect is not None:
         self.__playEffect(self.__currentDamageState.effect,
                           SpecialKeyPointNames.STATIC)
     toCrashedFashion = self.__fashion
     if self.__currentDamageState.isCurrentModelDamaged:
         toCrashedFashion = None
         self.__trackScrollCtl = None
     else:
         self.__trackScrollCtl.setData(self.__vehicle.filter,
                                       self.fashions.chassis)
     self.__crashedTracksCtrl = CrashedTrackController(
         vehicle.typeDescriptor, vehicle, toCrashedFashion,
         self.__vehicle.isPlayerVehicle)
     if vehicle.isAlive() and self.__vehicle.isPlayerVehicle:
         self.__vibrationsCtrl = VibrationControllersManager()
         if LightFx.LightManager.g_instance is not None and LightFx.LightManager.g_instance.isEnabled(
         ):
             self.__lightFxCtrl = LightFxControllersManager(self.__vehicle)
         if AuxiliaryFx.g_instance is not None:
             self.__auxiliaryFxCtrl = AuxiliaryFx.g_instance.createFxController(
                 self.__vehicle)
     if not BattleReplay.isPlaying():
         self.compoundModel.stipple = True
         self.delayCallback(_VEHICLE_APPEAR_TIME, self.__disableStipple)
     self.__vehicleMatrixProv = vehicle.model.matrix
     return