public void AddParticle(Particle particle) { particleAddList.AddParticle(particle); }
public void AddBackgroundParticle(Particle particle) { backgroundParticles.AddParticle(particle); }
public virtual void Tick(GameInput input) { particles.Tick(); if (door != null) { door.Tick(); } items.Tick(input); enemyBullets.Tick(players); playerBullets.Tick(enemies); enemies.Tick(input); if (player != null) { player.Tick(input); } backgroundParticles.Tick(); foreach (Thing enemy in enemyAddList) { enemies.AddThing(enemy); } enemyAddList.Clear(); foreach (Particle particle in particleAddList) { particles.AddParticle(particle); } particleAddList.Clear(); if (player != null) { MoveCamera(player.Focus); } players.SweepRemovedThings(); enemies.SweepRemovedThings(); playerBullets.SweepRemovedBullets(); enemyBullets.SweepRemovedBullets(); items.SweepRemovedThings(); particles.SweepRemovedParticles(); backgroundParticles.SweepRemovedParticles(); if (quakeRadius > 0) { double angle = 2 * Math.PI * random.NextDouble(); quakeVector = quakeRadius * new Vector(Math.Cos(angle), Math.Sin(angle)); quakeRadius -= 0.25; } if (flash > 0) { flash--; } numTicks++; if (cleared) { if (clearTimer < 16) { clearTimer++; } } if (input.Exit && !gameover) { gameover = true; gameoverTimer = 240; } if (player != null) { if (player.Removed) { gameover = true; } } if (gameover) { if (gameoverTimer == 240) { StopMusic(); } if (gameoverTimer < 256) { gameoverTimer++; } } }