Esempio n. 1
0
    def enable(self, isEnabled):
        for pixieCache in self.__exhaust:
            activeEffect = pixieCache.activeEffect
            if activeEffect is not None:
                enablePixie(activeEffect, isEnabled)

        self.__enabled = isEnabled
        return
Esempio n. 2
0
    def destroy(self):
        for pixieCache in self.__exhaust:
            if pixieCache.activeEffect is not None:
                enablePixie(pixieCache.activeEffect, False)
                pixieCache.activeEffect.clear()

        for effectsCache in self.__exhaust:
            effectsCache.destroy()

        self.__exhaust = []
        return
Esempio n. 3
0
    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:
                        enablePixie(prevEffect, False)
                    if pixieCache.activeEffect is not None:
                        enablePixie(pixieCache.activeEffect, True)

            return
Esempio n. 4
0
 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)
         enablePixie(pixie, False)
         return