/// <summary> /// Agrega una Cuenta al a la sala que tenga ese Id /// </summary> /// <param name="Id">String</param> /// <param name="CuentaAAgregar">Cuenta</param> /// <param name="ActualCallback">IGameServiceCallback</param> /// <returns>EnumEstadoDeUnirseASala</returns> public EnumEstadoDeUnirseASala UnirseASalaConId(String Id, CuentaModel CuentaAAgregar, IGameServiceCallback ActualCallback, String DireccionIpDelCliente) { EnumEstadoDeUnirseASala estadoDeUnirseASala = EnumEstadoDeUnirseASala.NoSeEncuentraEnSesion; if (ManejadorDeSesiones.VerificarCuentaLogeada(CuentaAAgregar)) { estadoDeUnirseASala = EnumEstadoDeUnirseASala.SalaInexistente; CuentaAAgregar = ManejadorDeSesiones.ObtenerCuentaCompleta(CuentaAAgregar); foreach (Sala sala in SalasCreadas) { if (sala.Id == Id) { if (sala.UnirseASala(CuentaAAgregar, ActualCallback, DireccionIpDelCliente)) { estadoDeUnirseASala = EnumEstadoDeUnirseASala.UnidoCorrectamente; SeUnioASala?.Invoke(sala.Id); } else { estadoDeUnirseASala = EnumEstadoDeUnirseASala.SalaLlena; } break; } } } return(estadoDeUnirseASala); }
public void UnirseASalaPrivadaTest() { CuentaModel cuenta = new CuentaModel() { NombreUsuario = "WingXstar", Contrasena = "PepitoElgrillo45", CorreoElectronico = "*****@*****.**" }; bool expectedResut = false; EnumEstadoDeUnirseASala estado = EnumEstadoDeUnirseASala.NoSeEncuentraEnSesion; GameService service = new GameService(); Assert.AreEqual(expectedResut, service.UnirseASalaPrivada("1234", cuenta)); }
/// <summary> /// Le solicita al cliente del juego unirse a una sala privada /// </summary> public void UnirseASalaPrivada() { InicializarServicio(); if (VerificarIdValido()) { String IdDeLaSala = txtBoxIdSala.text; Boolean SeUniServicioChat = UnirseAlServicioDeChat(); EnumEstadoDeUnirseASala EstadoUnirseASala = UnirseAlServicioDeJuego(IdDeLaSala); switch (EstadoUnirseASala) { case EnumEstadoDeUnirseASala.UnidoCorrectamente: if (!SeUniServicioChat) { Debug.LogWarning("Chat no disponible"); PanelException.SetActive(true); PanelException.GetComponentInChildren <Text>().text = "El servicio de chat esta temporalmente inactivo."; } ClienteDelJuego.SolcitarDetallesSala(); SceneManager.LoadScene("Lobby"); break; case EnumEstadoDeUnirseASala.SalaInexistente: Debug.LogWarning("Error de Sala no Existente"); PanelException.SetActive(true); PanelException.GetComponentInChildren <Text>().text = "Error. La sala a la que desea unirse no existe."; break; case EnumEstadoDeUnirseASala.SalaLlena: Debug.LogWarning("Error de Sala Llena"); PanelException.SetActive(true); PanelException.GetComponentInChildren <Text>().text = "Error. La sala solicitada se encuentra llena"; break; case EnumEstadoDeUnirseASala.NoSeEncuentraEnSesion: Debug.LogWarning("Error de conexion a sala"); PanelException.SetActive(true); PanelException.GetComponentInChildren <Text>().text = "Error. No se encuentra la sesión"; break; } } }