예제 #1
0
        /// <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();
            }
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
 /// <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();
     }
 }
예제 #4
0
 /// <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 = "";
 }