/// <summary> /// Receives the command and deals with it /// </summary> /// <param name="command">Command sent in</param> /// <param name="e">Exception</param> private void CommandReceived(string command, Exception e) { string[] scores = new string[2]; // If an exception is given, displays a message and closes the client if (e != null) { MessageBox.Show("Server connection has closed."); clientModel.CloseClient(); Switcher.Switch(new ChooseOpponent()); } // If the command is not null, parses the command if (command != null) { //Update time if (Regex.IsMatch(command, @"^TIME")) { string[] commandList = command.Split(' '); timeRemaining.Text = commandList[1]; } //Update score else if (Regex.IsMatch(command, @"^SCORE")) { scores = command.Split(' '); p1Score.Text = scores[1]; p2Score.Text = scores[2]; } //Game ended else if (Regex.IsMatch(command, @"^STOP")) { Switcher.Switch(new GameEnds(command, p1Score.Text, p2Score.Text, p1Name.Text, p2Name.Text)); clientModel.CloseClient(); } //Ignore command else if (Regex.IsMatch(command, @"^IGNORING")) { string[] ignoring = command.Split(' '); MessageBox.Show("Invalid command: " + ignoring[1]); } //Game has been terminated else if (Regex.IsMatch(command, @"^TERMINATED")) { MessageBox.Show("Opponent has closed connection."); Switcher.Switch(new ChooseOpponent()); } } }
private void Window_Closed(object sender, EventArgs e) { if (Application.Current.Properties["clientModel"] != null) { BoggleClientModel model = (BoggleClientModel)Application.Current.Properties["clientModel"]; model.CloseClient(); } }
/// <summary> /// Cancels the connection /// </summary> /// <param name="sender">sender</param> /// <param name="e">Exception</param> private void Cancel_Click(object sender, RoutedEventArgs e) { clientModel.CloseClient(); clientModel.incomingWordEvent = null; Switcher.Switch(new ChooseOpponent()); }