private void Button_Entrar(object sender, RoutedEventArgs e) { if (dataGrid_Partidas.SelectedItem == null) { string elegir = Properties.Resources.elegirPartida; MessageBox.Show(elegir); return; } ServidorJuegoSE.Sala partida = (ServidorJuegoSE.Sala)dataGrid_Partidas.SelectedItem; if (!lobby.EntrarPartida(partida)) { listaSalas.Clear(); string partidaRecurso = Properties.Resources.partida; string llena = Properties.Resources.llena; MessageBox.Show(partidaRecurso + " " + partida.Nombre + " " + llena); listaSalas = lobby.ConsultarPartidasDisponibles(); dataGrid_Partidas.Items.Refresh(); return; } lobby.Show(); this.Close(); }
/// <summary> /// Metodo que valida que haya lugares en la sala, y mete la /// lista de los jugadores a la partida. /// </summary> /// <param name="salaRecibida"> sala que se configuró en la pantalla crear partida "</param> /// <returns>true si se metieron a la partida, false si la sala está llena</returns> public Boolean EntrarPartida(ServidorJuegoSE.Sala salaRecibida) { sala = salaRecibida; if (clienteMultijugador.ValidarSala(sala.IdSala)) { JugadoresConectados = clienteMultijugador.ConsultarJugadoresSala(sala.IdSala).ToList(); listBox_JugadoresConectados.ItemsSource = JugadoresConectados; clienteMultijugador.UnirseSala(sala.IdSala, jugador); return(true); } return(false); }
/// <summary> /// Constructor de la ventana de juego que inicializa las configuraciones y jugadores /// para el comienzo de la partida. /// </summary> /// <param name="jugadorRecibido"></param> /// <param name="salaRecibida"></param> /// <param name="regresoMensaje"></param> public Juego(ServidorJuegoSE.Jugador jugadorRecibido, ServidorJuegoSE.Sala salaRecibida, CallbackMultijugador regresoMensaje) { Jugador = jugadorRecibido; Sala = salaRecibida; regresoJuego = regresoMensaje; InitializeComponent(); listBox_Chat.ItemsSource = Chat; listBox_JugadoresConectados.ItemsSource = JugadoresConectados; regresoJuego.Juego = this; contexto = new InstanceContext(regresoJuego); ClienteMultijugador = new ServidorJuegoSE.AdministradorMultijugadorClient(contexto); ImageBrush brushGrid = new ImageBrush(); brushGrid.ImageSource = new BitmapImage(new Uri(Sala.UriFondoTablero)); grid_Tablero.Background = brushGrid; musicaFondo.MediaOpened += SoundTrackCargado; musicaFondo.MediaEnded += SoundTrackFinalizado; musicaFondo.Open(new Uri("pack://siteoforigin:,,,/SoundTracks/track1.mp3")); }
private void Button_CrearPartida(object sender, RoutedEventArgs e) { if (!VerificarCampos()) { return; } var rectangulo = grid_Fondos.Children.Cast <UIElement>().FirstOrDefault(i => i is Rectangle && i.Opacity == 1); var fondo = (Image)grid_Fondos.Children.Cast <UIElement>().First(i => i is Image && Grid.GetColumn(i) == Grid.GetColumn(rectangulo)); ServidorJuegoSE.Sala sala = new ServidorJuegoSE.Sala() { Nombre = textBox_Nombre.Text, DobleDado = checkBox_DobleDado.IsChecked.Value, CasillasEspeciales = checkBox_CasillasEspeciales.IsChecked.Value, UriFondoTablero = ((BitmapFrame)fondo.Source).Decoder.ToString() }; Lobby lobby = new Lobby(Jugador); lobby.CrearPartida(sala); lobby.Show(); this.Close(); }
/// <summary> /// Recibe la sala que se creo en la ventana crear partida, la manda al servidor y /// une al jugador a dicha sala /// </summary> /// <param name="salaRecibida"> sala configurada</param> public void CrearPartida(ServidorJuegoSE.Sala salaRecibida) { sala = salaRecibida; sala.IdSala = clienteMultijugador.CrearSala(sala); clienteMultijugador.UnirseSala(sala.IdSala, jugador); }