public static void Update(GameTime gameTime) { TimeRemaining = TimeRemaining.SubtractWithGameSpeed(gameTime.ElapsedGameTime); if (TimeRemaining < TimeSpan.Zero) { TimeRemaining = TimeSpan.Zero; if (!_levelHasEnded) { _levelHasEnded = true; Globals.GameState.Beings.ForEach(b => b.LevelEnded()); } } if (Globals.GameState.Zerds.Any(z => z.IsAlive)) { TimeSinceLosing = GameplayConstants.WaitTimeAfterLosing; } else { TimeSinceLosing = TimeSinceLosing.SubtractWithGameSpeed(gameTime.ElapsedGameTime); if (TimeSinceLosing < TimeSpan.Zero) { GameOver(); } } }