Interface for a particle.
virtual bool IsActive() const =0
Interface for a particle renderer.
virtual void Draw(IParticle *pParticle, SpriteBatch &spriteBatch) const =0
Draws the particle.
Interface for a particle updater.
virtual void Update(IParticle *pParticle, const GameTime &gameTime) const =0
Updates a particle.
virtual void Update(const GameTime &gameTime)
ParticlePool(IParticleUpdater *pUpdater, IParticleRenderer *pRenderer)
Creates a new instance of ParticlePool.
virtual IParticle * GetInactiveParticle()
virtual void Draw(SpriteBatch &spriteBatch)