def __attachTTL(self, effectDesc, effectID, pixie): ttl = effectDesc[PixieNode._PIXIE_TTL] if pixie is not None: self.__node.attach(pixie) effectDesc[PixieNode._PIXIE_REF] = pixie pixie.drawOrder = self.__drawOrder PixieBG.enablePixie(pixie, True) self.__ttlCallbacks[effectID] = BigWorld.callback(ttl, partial(self.__detachTTL, effectID)) PixieCache.pixiesCount += 1 return
def getPixie(name, callbackData): pixieInfo = PixieCache.pixieCache.get(name, [None, set()]) cbksSize = len(pixieInfo[1]) pixieInfo[1].add(callbackData) if cbksSize == 0: pixieInfo[0] = PixieBG(name, PixieCache.onPixieLoaded) PixieCache.pixieCache[name] = pixieInfo return
def __loadEffects(self): if self.__particle[0] is None and self.__particle[1] is None: if self.__curve is None: return propValue = self.__curve.getChannelProperty(0, 'effectHardpoint') hardPointName = propValue.asString if propValue is not None else '' if hardPointName == '': return ds = self.__curve.getChannelProperty(0, 'effectName') effectName = ds.asString if ds is not None else '' if effectName != '': modelNode = self.__model.node(hardPointName) self.__particle = (modelNode, PixieBG(effectName, self.__onParticlesLoaded)) return
def __attach(self, pixie): self.__node.node.attach(pixie) self.__pixieRef = pixie PixieBG.enablePixie(pixie, True) PixieCache.pixiesCount += 1
def __attach(self, pixie): self.__node.attach(pixie) pixie.drawOrder = self.__drawOrder PixieBG.enablePixie(pixie, True) PixieCache.pixiesCount += 1