public GameViewModel() { m_mainViewModel = new MainMenuViewModel(this); m_mainViewModel.OnOpenNewGameCommand += MainViewModel_OnOpenNewGameCommand; m_mainViewModel.OnOpenOptionsCommand += MainViewModel_OnOpenOptionsCommand; m_mainViewModel.OnLoadGameCommand += MainViewModel_OnLoadGameCommand; m_newGameViewModel = new NewGameViewModel(this); m_newGameViewModel.OnCloseNewGameCommand += NewGameViewModel_OnCloseNewGameCommand; m_newGameViewModel.OnStartGameCommand += NewGameViewModel_OnStartGameCommand; m_newGameViewModel.OnDisplayDurationChange += NewGameViewModel_OnDisplayDurationChange; m_newGameViewModel.OnPlayerCountChange += NewGameViewModel_OnPlayerCountChange; m_newGameViewModel.OnSessionNameChange += NewGameViewModel_OnSessionNameChange; m_newGameViewModel.OnSearchedCountChange += NewGameViewModel_OnSearchedCountChange;; m_optionsViewModel = new OptionsViewModel(this); m_optionsViewModel.OnCloseOptionsCommand += OptionsViewModel_OnCloseOptionsCommand; m_syllablesInputViewModel = new SyllablesInputViewModel(this); m_syllablesInputViewModel.OnAcceptCommand += SyllablesViewModel_OnAcceptCommand; m_incommingTransmissionViewModel = new IncommingTransmissionViewModel(this); m_incommingTransmissionViewModel.OnWaitTimePassed += IncommingTransmissionViewModel_OnWaitTimePassed; m_endScreenViewModel = new EndScreenViewModel(this); m_endScreenViewModel.OnOKCommand += EndScreenViewModel_OnOKCommand; CurrentDisplayedMenu = m_mainViewModel; }
public async Task <EndScreenViewModel> GetEndScreenViewModel(int gameId, string myUsername, string teammateUsername, string opponent1Username, string opponent2Username, int userId) { var player = await _playerRepository.GetPlayerByUserIdAsync(userId); var game = await _gameRepository.GetGameById(gameId); var winningTeam = GetWinningTeamFromeScores(game); var myTeam = player.Team.Value; if (!winningTeam.HasValue) { return(null); } var model = new EndScreenViewModel() { MyUsername = myUsername, TeammateUsername = teammateUsername, Opponent1Username = opponent1Username, Opponent2Username = opponent2Username, Winner1 = myTeam == winningTeam.Value ? myUsername : opponent1Username, Winner2 = myTeam == winningTeam.Value ? teammateUsername : opponent2Username, MyTeamScore = myTeam == Team.FirstTeam ? game.FirstTeamTotalScore : myTeam == Team.SecondTeam ? game.SecondTeamTotalScore : 0, OpponentTeamScore = myTeam == Team.FirstTeam ? game.SecondTeamTotalScore : myTeam == Team.SecondTeam ? game.FirstTeamTotalScore : 0, PlayerQuit = false, QuitUsername = "" }; return(model); }
public EndScreenViewModel GetEndScreenViewModelForPlayerQuitting(string quitUsername, string opponent1Username, string opponent2Username) { var model = new EndScreenViewModel() { MyUsername = "", TeammateUsername = "", Opponent1Username = "", Opponent2Username = "", Winner1 = opponent1Username, Winner2 = opponent2Username, MyTeamScore = 0, OpponentTeamScore = 0, PlayerQuit = true, QuitUsername = quitUsername }; return(model); }