/// <summary> /// Constructor de la ventana Espera. /// </summary> /// <param name="jugador"> /// Objeto jugador que se mandó desde el menú. /// </param> /// <param name="partida"> /// Objeto partida que se mandó desde el menú. /// </param> public Espera(ServiceSYE.Jugador jugador, ServiceSYE.Partida partida) { InitializeComponent(); if (lb_Esperando.Content.ToString().Substring(0, 1).Equals("E")) { lb_Esperando.FontSize = 40; } this.Title = this.Title + " - " + jugador.NombreUsuario; this.Jugador = jugador; this.Partida = partida; this.Partidas = new Partidas(); InstanceContext contextoPartida = new InstanceContext(Partidas); this.ClientePartida = new ServiceSYE.PartidaClient(contextoPartida); this.Mensajes = new Mensajes(); this.Mensajes.Espera = this; InstanceContext contextoChat = new InstanceContext(Mensajes); this.ClienteChat = new ServiceSYE.ChatClient(contextoChat); this.clienteJugador = new ServiceSYE.JugadorClient(); try { ClientePartida.UnirsePartida(jugador, partida.Nombre); ClienteChat.UnirseChat(jugador.NombreUsuario, partida.Nombre); ValidarConectado(); ClienteChat.EnviarMensaje("", partida.Nombre); } catch (CommunicationException) { EnviarMensajeError(); } }
/// <summary> /// Cancela la espera de la partida y saca al jugador de esta. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Bt_Cancelar_Click(object sender, RoutedEventArgs e) { ClientePartida.SalirPartida(Jugador, Partida.Nombre); ClienteChat.EnviarMensaje(" ", Partida.Nombre); ClienteChat.SalirChat(Partida.Nombre); MenuPrincipal menuPrincipal = new MenuPrincipal(Jugador); menuPrincipal.Show(); Cerrar = false; this.Close(); }
/// <summary> /// Cierra la ventana y saca al jugador de la partida. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { validarConectadoEspera.Stop(); if (Cerrar) { ClientePartida.SalirPartida(Jugador, Partida.Nombre); ClienteChat.EnviarMensaje(" ", Partida.Nombre); ClienteChat.SalirChat(Partida.Nombre); clienteJugador.SalirDelJuego(Jugador); MainWindow mainWindow = new MainWindow(); mainWindow.Show(); } }
/// <summary> /// Realiza el proceso para enviar un mensaje en el chat. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Bt_Enviar_Click(object sender, RoutedEventArgs e) { if (ValidarMensaje(tb_Mensaje.Text)) { if (ValidarCaracteresMensaje(tb_Mensaje.Text)) { try { ClienteChat.EnviarMensaje(tb_Mensaje.Text, Partida.Nombre); } catch (CommunicationException) { EnviarMensajeError(); } } else { MessageBox.Show(Properties.Resources.mb_CaracteresInvalidosMensaje, Properties.Resources.mb_Ayuda); } } tb_Mensaje.Text = ""; }