private void UpdatePlayerScoreFromFlagpole(object sender, PlayerHitPoleEventArgs e) { if (ReferenceEquals(e.Mario, ParentHUD.Player)) { playerScore += e.Mario.Time * 15; if (ReferenceEquals(ParentHUD.Player, MarioCloneGame.Player1)) { if (MarioCloneGame.Player2.LevelCompleted) { playerScore += e.Height / 2; } else { playerScore += e.Height; } } else if (ReferenceEquals(ParentHUD.Player, MarioCloneGame.Player2)) { if (MarioCloneGame.Player1.LevelCompleted) { playerScore += e.Height / 2; } else { playerScore += e.Height; } } e.Mario.Score = playerScore; } }
private void HandleFlagPoleHit(object sender, PlayerHitPoleEventArgs e) { e.Mario.LevelCompleted = true; e.Mario.StateMachine.TransitionInvincible(); //State = GameState.GameOver; if (Mode == GameMode.SinglePlayer) { State = GameState.GameOver; } else if (MultiplayerMode == MultiplayerType.Race || (Player1.LevelCompleted && Player2.LevelCompleted)) { State = GameState.GameOver; } }