public void Update(double elapsed) { for (int i = 0; i < particle_array.Length; i++) { Particle particle = particle_array[i]; if (particle.is_alive) { particle.Update(elapsed); } else if (!particle.in_pool) { particle_pool.Enqueue(particle); particle.in_pool = true; } } }