private void multiPlayersButton_Click(object sender, RoutedEventArgs e) { logger.Info("multi players clicked"); PlayersListPage page = new PlayersListPage(service, nickName, email); NavigationService.Navigate(page); }
//assigning images for players avatars private void AssignPlayersAvatarsImagesAndNames(PersonalizedForSpecificPlayerStartGameDataRequest inputData) { //this player if (gameWindow.ThisPlayerControl.PlayerNumber >= 0) { gameWindow.ThisPlayerImage.Source = PlayersListPage.GetAvatarFullName(gameWindow.ThisPlayerControl.PlayerNumber); gameWindow.ThisPlayerNameControl.Text = inputData.DataOfThisPlayer.ThisPlayerName; } //left player if (gameWindow.LeftPlayerControl.PlayerNumber >= 0) { gameWindow.LeftPlayerImage.Source = PlayersListPage.GetAvatarFullName(gameWindow.LeftPlayerControl.PlayerNumber); gameWindow.LeftPlayerNameControl.Text = (inputData.DataOfOtherPlayers.Single(x => x.OtherPlayerNumber == gameWindow.LeftPlayerControl.PlayerNumber)).OtherPlayerName; } //upper player if (gameWindow.UpperPlayerControl.PlayerNumber >= 0) { gameWindow.UpperPlayerImage.Source = PlayersListPage.GetAvatarFullName(gameWindow.UpperPlayerControl.PlayerNumber); gameWindow.UpperPlayerNameControl.Text = (inputData.DataOfOtherPlayers.Single(x => x.OtherPlayerNumber == gameWindow.UpperPlayerControl.PlayerNumber)).OtherPlayerName; } //right player if (gameWindow.RightPlayerControl.PlayerNumber >= 0) { gameWindow.RightPlayerImage.Source = PlayersListPage.GetAvatarFullName(gameWindow.RightPlayerControl.PlayerNumber); gameWindow.RightPlayerNameControl.Text = (inputData.DataOfOtherPlayers.Single(x => x.OtherPlayerNumber == gameWindow.RightPlayerControl.PlayerNumber)).OtherPlayerName; } }
//method for displaying proper page in main window frame //MainWindowFrame private void ShowNewMainWindowPage(Type pageType, bool startPlayersListAsHost) { //MainWindow.ChangeGameStatus(AppType.None); if (pageType == typeof(PlayersListPage)) { openedPageNumber = 1; /* Different page constructors. If starting this page when user is host, * page's constructor starts also the service with makao game host, but * when creating this page as not host player, there is no need of * starting mentioned service, which is Windows Service */ if (startPlayersListAsHost) { CurrentPlayersListPage = new PlayersListPage(newRoomPassword); } else { CurrentPlayersListPage = new PlayersListPage(); } CurrentPlayersListPage.ReadinessToPlayConfirmed += CurrentPlayersListPage_ReadinessToPlayConfirmed; CurrentPlayersListPage.RoomLeftByUser += CurrentPlayersListPage_RoomLeftByUser; CurrentPlayersListPage.ChangeAvailabilityOfMenus += CurrentPlayersListPage_ChangeAvailabilityOfMenus; CurrentEngineHostsListPage = null; MainWindowFrame.Content = CurrentPlayersListPage; } else if (pageType == typeof(EngineHostsListPage)) { openedPageNumber = 2; //if Engine Host Handler started the service, stop it StopHostServiceAndDisposeEngineHostHandler(); CurrentEngineHostsListPage = new EngineHostsListPage(this); CurrentEngineHostsListPage.SuccessfullyJoinedToTheRoom += CurrentEngineHostsListPage_SuccessfullyJoinedToTheRoom; CurrentPlayersListPage = null; MainWindowFrame.Content = CurrentEngineHostsListPage; } MemoryManagement.FlushMemory(); }