public void Update(double dTime) { if (this.HasConsumers) { for (int i = 0; i < Consumers.Count; i++) { FluidParticleConsumer consumer = (FluidParticleConsumer)Consumers[i]; consumer.Consume(ref Particles); } } if (wasMaxReached && !DoRebirth) { } else if (this.Particles.Count < this.MaxParticles) { for (int i = 0; i < Emitters.Count; i++) { FluidParticleEmitter emitter = (FluidParticleEmitter)Emitters[i]; emitter.Emit(ref Particles, dTime); } } else { wasMaxReached = true; } }