public void AddParticle(Particle particle) { if (particles.Count > maxParticles) particles.RemoveAt(0); particles.Add(particle); if (!particleClasses.Contains(particle.ParticleClass)) { particleClasses.Add(particle.ParticleClass); } }
public void RemoveParticle(Particle particle) { particles.Remove(particle); }
public override void Update(float dt) { if (Stopped) return; timeSinceLastEmit += dt; if (Intensity <= 0) return; int n = Emit(dt); while (n > 0) { Particle p = new Particle( this.Velocity + this.emitterParameters.InitialVelocity.Rotate(this.Orientation), this.Position, particleClass,10); this.ParticleSystem.AddParticle(p); n--; } }