public void Update() { settings.CheckValues(); if (enabled) { if (oneTime) { if (lifetime >= 0) { for (int i = 0; i < settings.number_per_frame; i++) { Vector2 pos = new Vector2(rand.Next(rectangle.Left, rectangle.Right), rand.Next(rectangle.Top, rectangle.Bottom)); Particle particleToAdd = new Particle(settings, pos); particles.Add(particleToAdd); } for (int i = 0; i < particles.Count; i++) { particles[i].Update(); if (particles[i].IsDead) { particles.RemoveAt(i); } } lifetime -= GameManager.DeltaTime; } else { enabled = false; } } else { for (int i = 0; i < settings.number_per_frame; i++) { Vector2 pos = new Vector2(rand.Next(rectangle.Left, rectangle.Right), rand.Next(rectangle.Top, rectangle.Bottom)); Particle particleToAdd = new Particle(settings, pos); particles.Add(particleToAdd); } for (int i = 0; i < particles.Count; i++) { particles[i].Update(); if (particles[i].IsDead) { particles.RemoveAt(i); } } } } }