/// <summary> /// Añade una carta a la mano del jugador /// </summary> /// <param name="nuevaCarta">Nueva carta a añadir</param> public void AniadirCarta(Carta nuevaCarta) { miMazo.Add(nuevaCarta); MostrarMano(); try { PartidaAdmin.ActualizarNumeroDeCartas(miSala, ObtenerMiNickname(), miMazo.Count.ToString()); } 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(); } }
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; }