示例#1
0
 def tick(self):
     if not self.__sequenceAnimator.isPlaying():
         self.__sequenceAnimator.stop()
         self.__sequenceAnimator.setEnabled(False)
         self.__sequenceAnimator = None
         CGF.removeGameObject(self.parent)
     return
 def __processFlightEnd(self):
     self.onFlightEnd(self)
     if self.parent is not None:
         self.parent.removeComponent(self.plane)
         self.plane = None
         if self.cargo is None:
             CGF.removeGameObject(self.parent)
     return
示例#3
0
    def __clearModelAnimators(self):
        self.flagComponent = None
        for modelAnimator in self.__modelAnimators:
            modelAnimator.animator.stop()

        self.__modelAnimators = []
        for go in self.undamagedStateChildren:
            CGF.removeGameObject(go)

        self.undamagedStateChildren = []
        return
    def _destroySystems(self):
        self.__systemStarted = False
        if self.trackScrollController is not None:
            self.trackScrollController.deactivate()
            self.__trackScrollCtl = None
        for modelAnimator in self.__modelAnimators:
            modelAnimator.animator.stop()

        if self.__periodicTimerID is not None:
            BigWorld.cancelCallback(self.__periodicTimerID)
            self.__periodicTimerID = None
        self.__modelAnimators = []
        self.filter.enableLagDetection(False)
        for go in self.undamagedStateChildren:
            CGF.removeGameObject(go)

        self.undamagedStateChildren = []
        return
示例#5
0
    def __onResourcesLoaded(self, buildInd, resourceRefs):
        for prevGo in self.undamagedStateChildren:
            CGF.removeGameObject(prevGo)

        self.undamagedStateChildren = []
        self.removeComponentByType(GenericComponents.HierarchyComponent)
        self.removeComponentByType(GenericComponents.TransformComponent)
        self.createComponent(GenericComponents.HierarchyComponent, self.__vEntity.entityGameObject)
        self.createComponent(GenericComponents.TransformComponent, Math.Vector3(0, 0, 0))
        if not self.__vDesc:
            self.__fireResourcesLoadedEvent()
            return
        elif buildInd != self.__curBuildInd:
            return
        else:
            failedIDs = resourceRefs.failedIDs
            resources = self.__resources
            succesLoaded = True
            for resID, resource in resourceRefs.items():
                if resID not in failedIDs:
                    resources[resID] = resource
                _logger.error('Could not load %s', resID)
                succesLoaded = False

            if self.collisions:
                BigWorld.removeCameraCollider(self.collisions.getColliderID())
            self._modelCollisions = resourceRefs['ModelCollisions']
            hasCrashedCollisions = resourceRefs.has_key('CrashedModelCollisions')
            if hasCrashedCollisions:
                self._crashedModelCollisions = resourceRefs['CrashedModelCollisions']
            if self.__isVehicleDestroyed and hasCrashedCollisions:
                self.collisions = self.createComponent(BigWorld.CollisionComponent, self._crashedModelCollisions)
            else:
                self.collisions = self.createComponent(BigWorld.CollisionComponent, self._modelCollisions)
            if succesLoaded:
                self.__setupModel(buildInd)
            if self.turretRotator is not None:
                self.turretRotator.destroy()
            self.turretRotator = SimpleTurretRotator(self.compoundModel, self.__staticTurretYaw, self.__vDesc.hull.turretPositions[0], self.__vDesc.hull.turretPitches[0], easingCls=math_utils.Easing.squareEasing)
            self.__applyAttachmentsVisibility()
            self.__fireResourcesLoadedEvent()
            super(HangarVehicleAppearance, self).activate()
            return
 def _removeParticles(self):
     if self.__particle is not None:
         CGF.removeGameObject(self.__particle)
         self.__particle = None
     return
示例#7
0
 def __destroyAreaGameObject(self):
     if self.__areaGO is not None:
         CGF.removeGameObject(self.__areaGO)
     self.__areaGO = None
     return
示例#8
0
 def removeDebrisGameObject(self):
     if self.__debrisGameObject is not None:
         CGF.removeGameObject(self.__debrisGameObject)
         self.__debrisGameObject = None
     return
示例#9
0
 def createDebrisGameObject(self, spaceID):
     if self.__debrisGameObject is not None:
         _logger.error('Debris go already created, something went wrong')
         CGF.removeGameObject(self.__debrisGameObject)
     self.__debrisGameObject = CGF.GameObject(spaceID)
     return self.__debrisGameObject
 def __killCargo(self):
     self.cargo = None
     if self.plane is None and self.parent is not None:
         CGF.removeGameObject(self.parent)
     return
示例#11
0
 def onLeaveWorld(self):
     if self.__gameObject is not None:
         CGF.removeGameObject(self.__gameObject)
     self.__gameObject = None
     super(ClientSelectableCGFObject, self).onLeaveWorld()
     return