def enable(self, isEnabled): for pixieCache in self.__exhaust: activeEffect = pixieCache.activeEffect if activeEffect is not None: PixieBG.enablePixie(activeEffect, isEnabled) self.__enabled = isEnabled return
def destroy(self): for pixieCache in self.__exhaust: if pixieCache.activeEffect is not None: PixieBG.enablePixie(pixieCache.activeEffect, False) pixieCache.activeEffect.clear() for effectsCache in self.__exhaust: effectsCache.destroy() self.__exhaust = [] return
def changeExhaust(self, engineMode, rpm): if not self.__enabled: return else: for pixieCache in self.__exhaust: prevEffect = pixieCache.activeEffect shouldReattach = pixieCache.changeActiveEffect(engineMode, rpm) if shouldReattach and pixieCache.node is not None: if prevEffect is not None: PixieBG.enablePixie(prevEffect, False) if pixieCache.activeEffect is not None: PixieBG.enablePixie(pixieCache.activeEffect, True) return
def _callbackExhaustPixieLoaded(self, elemDesc, pixie): effectName = elemDesc[self._EXHAUST_E_PIXE_NAME] if pixie is None: LOG_ERROR("Can't create pixie '%s'." % effectName) return else: self.__maxDrawOrder += 1 pixie.drawOrder = self.__maxDrawOrder self.__uniqueEffects[effectName] = pixie elemDesc[self._EXHAUST_E_PIXE_LIST].append(pixie) if self.__node is not None: self.__node.attach(pixie) PixieBG.enablePixie(pixie, False) return