private void OpenJoinMessageDialog() { MessageBoxResult result = MessageBox.Show("Do you want to Join Game now?", "Game Successfully Created", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { //Enter Lobby App.Current.SignalRHub.JoinGame(App.Current.AppUser, App.Current.CurrentGame); ChangeListener(); NavigationService.Navigate(new Uri("/LobbyPage.xaml", UriKind.Relative)); } if (result == MessageBoxResult.Cancel) { //Go back ChangeListener(); ServerMessage sm = new ServerMessage(0, "update", "created a game"); App.Current.SignalRHub.UserUpdate(App.Current.AppUser, sm); Debug.WriteLine("SettingsPage: Hit Cancel"); NavigationService.Navigate(new Uri("/HubPage1.xaml", UriKind.Relative)); } Debug.WriteLine("GameSettingsPage: Done with OpenJoinMessageDialog"); }
private async void EndGame(Game g) { string wm; ServerMessage sm = new ServerMessage(0, "update", "game ended"); if (g.Winner.UserId == App.Current.AppUser.UserId) { wm = "Congrats, you WON!"; } else { wm = "Sorry, you lost."; } MessageBoxResult result = MessageBox.Show(wm, "GAME OVER", MessageBoxButton.OK); if (result == MessageBoxResult.OK) { App.Current.SignalRHub.UserUpdate(App.Current.AppUser, sm); App.Current.SignalRHub.SignalRServerNotification -= new SignalRServerHandler(SignalRHub_SignalRServerNotification); NavigationService.Navigate(new Uri("/HubPage1.xaml", UriKind.Relative)); } }
/* private void CreateGameButton_Clicked(object sender, RoutedEventArgs e) { //send call to create //wait till server resonds //flag do you wnat to join now? //if no update user on this page then transfer to HUB //if yes go to Lobby send lobby shit string s; if (_maxTime < 0 || _maxHits < 0 || App.Current.OppUserTest == null) { if (_maxHits < 0) { s = "Error: You need to choose how many lives Sphero Player will have."; GameError(s); } else { if (opponent.UserName == null || App.Current.OppUserTest == null) { s = "Error: You need to select an opponent"; GameError(s); } else { if (_maxTime <0) { s = "Error: You need to choose how long the game will last."; GameError(s); } } } } else { Game ugame = new Game(); ugame.DateCreated = DateTime.Now; ugame.OpponentName = App.Current.OppUserTest.UserName; //your good ugame.MaxTime = _maxTime; ugame.MaxHits = _maxHits; ugame.GameStatus = 0; ugame.GameId = App.Current.AppUser.UserId + "game"; App.Current.CurrentGame = ugame; //Frame.Navigate(typeof(HubPage)); } }*/ protected void SignalRHub_SignalRServerNotification(object sender, SignalREventArgs e) { Deployment.Current.Dispatcher.BeginInvoke(() => { //Debug.WriteLine("SEND, - SIMPLE CHAT WORKS- "+e.ChatMessageFromServer); if (e.CustomServerMessage != null) { switch (e.CustomServerMessage.Command) { //Login case 0: //Update Game List if (e.CustomServerMessage.Action == "login") { if (e.UserUpdate.UserName != App.Current.AppUser.UserName) { e.CustomAvailableOpponents.Add(e.UserUpdate); } else { UpdateWithServerData(e); } } break; case 1: if (e.CustomServerMessage.Action == "update") { if (e.UserUpdate.UserName == App.Current.AppUser.UserName) { App.Current.AppUser = e.UserUpdate; App.Current.AllGames = e.CustomGameList; App.Current.OppUsers = e.CustomAvailableOpponents; if (!iscreatingagame) { Debug.WriteLine("Game Settings: Update " + e.CustomServerMessage.Message); NavigationService.Navigate(new Uri("/HubPage1.xaml", UriKind.RelativeOrAbsolute)); } } } break; case 2: if (e.CustomServerMessage.Action == "created") { if (App.Current.AppUser.UserName == e.CustomGameObject.CreatorName) { Debug.WriteLine("SettingsPage created game listener called."); //Add game to users game list App.Current.AllGames.Add(e.CustomGameObject); App.Current.CurrentGame = e.CustomGameObject; Debug.WriteLine("Created A Game " + e.CustomServerMessage.Message); //Frame.Navigate(typeof(LobbyPage)); //Update User information //Ask if they want to join ServerMessage sm = new ServerMessage(0, "update", "created a game"); App.Current.SignalRHub.UserUpdate(App.Current.AppUser, sm); Debug.WriteLine("SettingsPage: Starting OpenJoinMessageDIalog"); //OpenJoinMessageDialog(); Debug.WriteLine("SettingsPage: COmpleted Dialog"); } } break; default: break; } } }); }