private void OpenAsPauseMenu(RecordedScore recordedScore)
    {
        title.text    = "Game Paused";
        subtitle.text = recordedScore.LeftPlayerScore.ToString() + " - " + recordedScore.RightPlayerScore.ToString();

        GameObjectUtils.SetButtonActiveAndEnabled(resumeButton, true);
        ToggleMenuVisibility(true);
    }
 private void PlaySoundOnWinningScoreReached(RecordedScore recordedScore)
 {
     if (recordedScore.IsLeftPlayerWinning())
     {
         audioSource.PlayOneShot(playerWinSound, volumeScaleGameFinish);
     }
     else
     {
         audioSource.PlayOneShot(playerLoseSound, volumeScaleGameFinish);
     }
 }
    private void OpenAsEndGameMenu(RecordedScore recordedScore)
    {
        if (!recordedScore.IsWinningScoreReached())
        {
            Debug.LogError($"Opening ingame menu as triggered by event `WinningScoreReached`, " +
                           $"but no players have met or surpassed the score: {recordedScore}");
        }
        title.text    = recordedScore.IsLeftPlayerWinning() ? "Game Won" : "Game Lost";
        subtitle.text = recordedScore.LeftPlayerScore.ToString() + " - " + recordedScore.RightPlayerScore.ToString();

        GameObjectUtils.SetButtonActiveAndEnabled(resumeButton, false);
        ToggleMenuVisibility(true);
    }
 private void EndTrack(RecordedScore _)
 {
     track.Stop();
 }
 private void PauseTrack(RecordedScore _)
 {
     track.Pause();
 }
 private void RestartGame(string status)
 {
     ResetMovingObjects();
     recordedScore = new RecordedScore(recordedScore.WinningScore);
     GameEventCenter.scoreChange.Trigger(recordedScore);
 }
 private void StartNewGame(GameSettingsInfo gameSettings)
 {
     recordedScore = new RecordedScore(gameSettings.NumberOfGoals);
     aiPaddle.GetComponent <AiController>().SetDifficultyLevel(gameSettings.DifficultyLevel);
     GameEventCenter.scoreChange.Trigger(recordedScore);
 }
 private void UpdateScore(RecordedScore recordedScore)
 {
     lastRecordedScore    = recordedScore;
     leftScoreLabel.text  = recordedScore.LeftPlayerScore.ToString();
     rightScoreLabel.text = recordedScore.RightPlayerScore.ToString();
 }
 private void PauseAnyActiveSoundEffects(RecordedScore _)
 {
     audioSource.Pause();
 }