public void UpdatePlayerScoreFromPlayerDeath(object sender, PlayerDiedEventArgs e) { if (ReferenceEquals(e.DeadPlayer, ParentHUD.Player)) { playerScore = clamp(playerScore - 500); } }
private void HandlePlayerDeath(object sender, PlayerDiedEventArgs e) { Camera camera = Player1Camera; if (ReferenceEquals(e.DeadPlayer, Player2) && (Mode == GameMode.MultiPlayer)) { camera = Player2Camera; } if ((Mode == GameMode.MultiPlayer) && MultiplayerMode != MultiplayerType.ScoreWithLives) { e.DeadPlayer.Lives++; } if (e.DeadPlayer.Lives <= 0) { State = GameState.GameOver; } else { camera.Limits = level.LevelAreas[0]; BlockFactory.SpriteFactory = NormalThemedBlockSpriteFactory.Instance; gameGrid.Remove(e.DeadPlayer); e.DeadPlayer.ResetToCheckpoint(); gameGrid.Add(e.DeadPlayer); camera.LookAt(e.DeadPlayer.Position); if (ReferenceEquals(e.DeadPlayer, Player1)) { _backgroundP1 = new Background(spriteBatch, camera, BackgroundType.Overworld); } else if (Mode == GameMode.MultiPlayer) { _backgroundP2 = new Background(spriteBatch, camera, BackgroundType.Overworld); } } }