public static void DestroyShip(double gameTimeSeconds, ShipModel ship, ExplosionListModel explosions, GameSounds gameSounds) { ship.IsDestroyed = true; ship.TimeOfDestruction = gameTimeSeconds; AddExplosion(gameTimeSeconds, ship.CentrePoint, explosions, gameSounds); }
public static void ConsiderPlayerFiring(double gameTimeSeconds, Input input, ShipBulletListModel shipBulletList, ShipModel ship, GameSounds gameSounds) { if (!ship.IsDestroyed && input.Fire.JustDown) { var elapsedTime = gameTimeSeconds - ship.MostRecentPlayerFiringTime; if (elapsedTime > ShipModel.MinFiringIntervalForPlayer) { shipBulletList.ShipBullets.Add(new ShipBulletModel(ship.CentrePoint.ShuntedBy(ship.Width, 0))); ship.MostRecentPlayerFiringTime = gameTimeSeconds; // Quiz: Why are we doing this? gameSounds.PlayerFiringSound.Play(); } } }