def onEnterWorld(self, prereqs):
     self.model = prereqs[self.__vehDescr.name]
     self.model.matrix = self.matrix
     self.collisions = prereqs['collisionAssembler']
     self.__detachConfirmationTimer.onEnterWorld()
     self.__vehDescr.keepPrereqs(prereqs)
     turretDescr = self.__vehDescr.turret
     if self.isUnderWater == 0:
         self.__detachmentEffects = _TurretDetachmentEffects(
             self.model, turretDescr.turretDetachmentEffects,
             self.isCollidingWithWorld == 1)
         self.addComponent(self.__detachmentEffects)
     else:
         self.__detachmentEffects = None
     self.__hitEffects = _HitEffects(self.model)
     self.addComponent(self.__hitEffects)
     self.__componentsDesc = (self.__vehDescr.turret, self.__vehDescr.gun)
     from helpers.CallbackDelayer import CallbackDelayer
     self.__isBeingPulledCallback = CallbackDelayer()
     self.__isBeingPulledCallback.delayCallback(self.__checkIsBeingPulled(),
                                                self.__checkIsBeingPulled)
     DetachedTurret.allTurrets.append(self)
     collisionData = ((TankPartNames.getIdx(TankPartNames.TURRET),
                       self.model.matrix),
                      (TankPartNames.getIdx(TankPartNames.GUN),
                       self.model.node(TankPartNames.GUN)))
     self.collisions.connect(self.id, ColliderTypes.DYNAMIC_COLLIDER,
                             collisionData)
     ComponentSystem.activate(self)
     return
예제 #2
0
 def onEnterWorld(self, prereqs):
     if self.modelName == '':
         return
     if self.modelName not in prereqs.failedIDs:
         model = prereqs[self.modelName]
         self.model = model
         self.filter = BigWorld.DumbFilter()
         self.model.addMotor(BigWorld.Servo(self.matrix))
         self.collisions = prereqs['collisionAssembler']
         collisionData = ((0, self.model.matrix), )
         self.collisions.connect(self.id, ColliderTypes.DYNAMIC_COLLIDER,
                                 collisionData)
     ComponentSystem.activate(self)