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
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
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
def __destroyAreaGameObject(self): if self.__areaGO is not None: CGF.removeGameObject(self.__areaGO) self.__areaGO = None return
def removeDebrisGameObject(self): if self.__debrisGameObject is not None: CGF.removeGameObject(self.__debrisGameObject) self.__debrisGameObject = None return
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
def onLeaveWorld(self): if self.__gameObject is not None: CGF.removeGameObject(self.__gameObject) self.__gameObject = None super(ClientSelectableCGFObject, self).onLeaveWorld() return