/// <summary> /// Lógica para agregar un nuevo jugador a la sala. /// </summary> /// <param name="nuevoJugador">Nuevo jugador a agregar</param> public void AgregarNuevoJugador(Jugador nuevoJugador) { Juego ventanaJuego = Application.Current.Windows.OfType <Juego>().SingleOrDefault(); Paginas.Lobby paginaLobby = ventanaJuego.PaginaActual as Paginas.Lobby; paginaLobby.Jugadores.Add(nuevoJugador); }
/// <summary> /// Lógica para actualizar la sala de un jugador. /// </summary> /// <param name="jugadores">Jugadores a agregar en la sala</param> public void ActualizarSala(List <string> jugadores) { ObservableCollection <string> jugadoresEnSala = new ObservableCollection <string>(jugadores); Juego ventanaJuego = Application.Current.Windows.OfType <Juego>().SingleOrDefault(); Paginas.Lobby paginaLobby = ventanaJuego.PaginaActual as Paginas.Lobby; paginaLobby.jugadoresEnSala.ItemsSource = jugadoresEnSala; }
/// <summary> /// Lógica para configurar la información de la sala. /// </summary> /// <param name="sala">Sala a unirse</param> public void ObtenerInformacionDeSala(Sala sala) { Paginas.Lobby paginaLobby = new Paginas.Lobby { DataContext = sala, Jugadores = new ObservableCollection <Jugador>(sala.JugadoresEnSala.Keys) }; paginaLobby.jugadoresEnSala.ItemsSource = paginaLobby.Jugadores; Juego ventanaJuego = Application.Current.Windows.OfType <Juego>().SingleOrDefault(); ventanaJuego.PaginaActual = paginaLobby; ventanaJuego.frameNavegacion.Content = paginaLobby; }
/// <summary> /// Lógica para notificar la creación de la sala. /// </summary> /// <param name="salaCreada">Sala que fue creada</param> public void NotificarCreacionDeSala(Sala salaCreada) { Juego ventanaJuego = new Juego(); ventanaJuego.Show(); Paginas.Lobby paginaLobby = new Paginas.Lobby { Jugadores = new ObservableCollection <Jugador>(salaCreada.JugadoresEnSala.Keys), DataContext = salaCreada }; paginaLobby.jugadoresEnSala.ItemsSource = paginaLobby.Jugadores; paginaLobby.ConfigurarSalaParaHost(); ventanaJuego.PaginaActual = paginaLobby; ventanaJuego.frameNavegacion.Content = paginaLobby; MenuPrincipal menuPrincipal = Application.Current.Windows.OfType <MenuPrincipal>().SingleOrDefault(); menuPrincipal.Hide(); }