package net.fourbytes.shadow.systems; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.Vector2; import net.fourbytes.shadow.Layer; import net.fourbytes.shadow.Particle; import net.fourbytes.shadow.ParticleType; /** * The ParticleManager (previously ParticlePool) manages the re-use of particle object * instances to increase overall performance by decreasing the number of garbage * collection calls (also known as pooling). */ public interface IParticleManager extends ISystem { public Particle create(String typeName, Vector2 pos, Layer layer, Color color, float size, float time, Object... args); public Particle create(ParticleType type, Vector2 pos, Layer layer, Color color, float size, float time, Object... args); public void reset(Particle particle); public String getName(ParticleType type); }