//---------------------------------------------------------------------------- //---------------------------------------------------------------------------- public virtual void Update(DeltaTime deltaTime) { if ((m_bActive || !m_bActive && (m_freeParticleList.Count != m_Particles.Count)) && ParticleController != null) { if (m_bAllowGeneration) { //We create new ones GenerateParticles(deltaTime); if (!m_bContinuosEmission) { m_bAllowGeneration = false; } } ParticleController.UpdateController(deltaTime, this); //We update each active particle. foreach (IParticle particle in m_Particles) { if (particle.Active) { particle.UpdateParticle(deltaTime); } } } }