Example #1
0
        private void RenderizarImagen(Carta carta)
        {
            Image imagen = new Image();

            BitmapImage src = new BitmapImage();

            src.BeginInit();
            src.UriSource = new Uri(carta.Rutak__BackingField, UriKind.Relative);
            src.EndInit();

            imagen.Source = src;

            imagen.Stretch             = Stretch.Uniform;
            imagen.Height              = 110;
            imagen.VerticalAlignment   = VerticalAlignment.Bottom;
            imagen.HorizontalAlignment = HorizontalAlignment.Left;
            imagen.Margin              = new Thickness(espacioEntreCartas, 0, 0, 0);

            imagen.MouseLeftButtonUp += (s, ev) =>
            {
                if (EsMiTurno())
                {
                    if (Reglas.EsCartaValida(carta, cartaEnTablero))
                    {
                        try
                        {
                            PartidaAdmin.ColocarCarta(carta, miSala);
                        }
                        catch (EndpointNotFoundException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (TimeoutException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (CommunicationObjectFaultedException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }

                        miMazo.Remove(carta);
                        manoJugador.Children.Remove(imagen);

                        try
                        {
                            PartidaAdmin.ActualizarNumeroDeCartas(miSala, ObtenerMiNickname(), miMazo.Count.ToString());
                            PartidaAdmin.ActualizarPuntaje(miSala, ObtenerMiNickname(), carta.Numerok__BackingField);
                        }
                        catch (EndpointNotFoundException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (TimeoutException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (CommunicationObjectFaultedException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }

                        ActualizarMiPuntaje(carta.Numerok__BackingField);
                        MostrarMano();
                    }
                    else
                    {
                        new Mensaje {
                            TituloMensaje = Properties.Resources.Partida_CartaNoPermitidaTitulo,
                            Contenido     = Properties.Resources.Partida_CartaNoPermitidaMensaje
                        }.ShowDialog();
                    }
                }
                else
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.Partida_AccionNoPermitidaTitulo,
                        Contenido     = Properties.Resources.Partida_AccionNoPermitidaMensaje
                    }.ShowDialog();
                }
            };

            Grid.SetRow(imagen, 0);
            Grid.SetColumn(imagen, 0);

            manoJugador.Children.Add(imagen);

            espacioEntreCartas += 30;
        }