private async void MainViewModel_GameEnded(object sender, bool e) { //If the game ended normally and not canceled by the player if (!e) { if (this.CurrentGame is GameTimed gameTimed) { Messenger.Default.Send <string>(null, typeof(WordNotFoundMessage)); this.PreviousWordBackground = "Red"; this.PreviousWord = this.CurrentWord; } if (!this.isPaused) { await this.Pause(gameEnd : true); } Highscore highscore = new Highscore(); highscore.Date = DateTime.Now; highscore.TotalWords = this.CurrentGame.TotalWords; highscore.Score = this.CurrentGame.Score; highscore.GameMode = this.GameMode; ShowHighscoresMessage showHighscoresMessage = new ShowHighscoresMessage(this, null); showHighscoresMessage.Highscore = highscore; showHighscoresMessage.Language = this.CurrentLanguage; Messenger.Default.Send(showHighscoresMessage); } //The following line will reset to a new game of the same mode this.GameMode = this.GameMode; }
private void ShowHighscores() { ShowHighscoresMessage showHighscoresMessage = new ShowHighscoresMessage(this, null); showHighscoresMessage.Language = this.CurrentLanguage; Messenger.Default.Send(showHighscoresMessage); }
private void ShowHighscores(ShowHighscoresMessage showHighscoresMessage) { HighscoresWindow h = new HighscoresWindow(); h.DataContext = new HighscoresViewModel(showHighscoresMessage.Language, showHighscoresMessage.Highscore); if (showHighscoresMessage.Highscore != null) { this.Mplayer.Open(this.gameOverPath); this.Mplayer.Play(); } h.ShowDialog(); }
private void ShowHighscores(ShowHighscoresMessage showHighscoresMessage) { this.highscoresViewmodel = new HighscoresViewModel(showHighscoresMessage.Language, showHighscoresMessage.Highscore); }