void SpritePackerHelper::EnumerateSpritesForParticleEmitter(ParticleEmitter* emitter, Map<String, Sprite *> &sprites) { if (!emitter) { return; } Vector<ParticleLayer*> & layers = emitter->GetLayers(); int32 layersCount = layers.size(); for (int il = 0; il < layersCount; ++il) { ParticleLayer* curLayer = layers[il]; Sprite *sprite = curLayer->GetSprite(); if (sprite) { sprites[sprite->GetRelativePathname().GetAbsolutePathname()] = sprite; } // Superemitter layers might have inner emitter with its own sprites. if (curLayer->GetInnerEmitter()) { EnumerateSpritesForParticleEmitter(curLayer->GetInnerEmitter(), sprites); } } }