Ejemplo n.º 1
0
    def onEnterWorld(self, prereqs):
        self.model = prereqs[self.__vehDescr.turret['models']['exploded']]
        self.__gunModel = prereqs[self.__vehDescr.gun['models']['exploded']]
        node = self.model.node('HP_gunJoint', Math.Matrix())
        node.attach(self.__gunModel)
        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.__reactors.append(self.__detachmentEffects)
        else:
            self.__detachmentEffects = None
        self.__hitEffects[
            TankComponentNames.TURRET] = turretHitEffects = _HitEffects(
                self.model)
        self.__hitEffects[
            TankComponentNames.GUN] = gunHitEffects = _HitEffects(
                self.__gunModel)
        self.__reactors.append(turretHitEffects)
        self.__reactors.append(gunHitEffects)
        self.__componentsDesc = (self.__vehDescr.turret, self.__vehDescr.gun)
        for desc in self.__componentsDesc:
            desc['hitTester'].loadBspModel()

        from AvatarInputHandler.CallbackDelayer import CallbackDelayer
        self.__isBeingPulledCallback = CallbackDelayer()
        self.__isBeingPulledCallback.delayCallback(self.__checkIsBeingPulled(),
                                                   self.__checkIsBeingPulled)
        DetachedTurret.allTurrets.append(self)
Ejemplo n.º 2
0
 def __init__(self):
     self.__callbackDelayer = CallbackDelayer()
     self.__selectedAreas = {}
     self.__wings = {}
     if _ENABLE_DEBUG_DRAW:
         self.debugPolyLine = Flock.DebugPolyLine()
         self.debugPoints = []
         self.debugDirs = []