public Particle GetNewParticle(ParticleEmitter emitter, float life) { ParticlePool pool = particlesByEmitter[emitter]; List <Particle> available = pool.available; if (available.Count > 0) { Particle p = (Particle)CollectionUtils.RemoveAt(available, available.Count - 1); p.Init(emitter, life); p.SetImage(sprite); return(p); } Log.DebugWrite("Ran out of particles (increase the limit)!"); return(dummy); }