/// <summary> /// Metodo llamado por servidor para avisar cuando un usuario selecciono un color /// </summary> private void OnUserSelectedColor(Socket socket, Packet packet, params object[] args) { Debug.Log("Usuario selecciono color"); var datos = JSON.Parse(packet.ToString()); string colorInfo = datos[1].ToString(); colorInfo = colorInfo.Substring(1, colorInfo.Length - 2); colorInfo = colorInfo.Replace(@"\", ""); Debug.Log(colorInfo); DatosColor color = JsonConvert.DeserializeObject <DatosColor>(colorInfo); Debug.Log("Color elegido " + color.Color + " por " + color.Jugador); if (Lobby.instance.Players[color.Jugador] != null) { Debug.Log("Cambiando color de jugador"); GameObject.Find("Toggle" + Lobby.instance.Players[color.Jugador]).GetComponent <Toggle>().isOn = false; GameObject.Find(Lobby.instance.Players[color.Jugador] + "PlayerName").SetActive(false); } Lobby.instance.Players[color.Jugador] = color.Color; Toggle button = GameObject.Find("Toggle" + color.Color).GetComponent <Toggle>(); GameObject user = BuscarObjetoInactivo(color.Color + "PlayerName"); user.SetActive(true); user.GetComponent <Text>().text = color.Jugador; // togglear a encendido el boton del color encontrado button.isOn = true; Lobby.instance.PrintLobby(); }
/// <summary> /// Metodo utilizado para determinar si enviar o no el color seleccionado en el lobby /// </summary> public void OnPointerClick(PointerEventData eventData) { if (gameObject.GetComponent <Toggle>().isOn) { DatosColor datoscolor = new DatosColor(Lobby.instance.IdLobby, Jugador.instance.Username, gameObject.tag); string dataColor = JsonConvert.SerializeObject(datoscolor); ConnectionManager.instance.socket.Emit("selectColor", dataColor); } }
public void TerminarTurno() { Debug.Log("Winner? = " + JugadorActualWinner()); if (JugadorActualWinner()) { DatosColor winner = new DatosColor(Lobby.instance.IdLobby, Jugador.instance.Username, null); string winnerData = JsonConvert.SerializeObject(winner); ConnectionManager.instance.socket.Emit("winner", winnerData); Debug.Log("Winner!"); } else { ConnectionManager.instance.socket.Emit("terminarTurno", Lobby.instance.IdLobby); } }
/// <summary> /// Metodo llamado por servidor para avisar cuando un jugador a ganado la partida /// </summary> private void OnWinner(Socket socket, Packet packet, params object[] args) { var datos = JSON.Parse(packet.ToString()); string winnerInfo = datos[1].ToString(); winnerInfo = winnerInfo.Substring(1, winnerInfo.Length - 2); winnerInfo = winnerInfo.Replace(@"\", ""); Debug.Log(winnerInfo); DatosColor winner = JsonConvert.DeserializeObject <DatosColor>(winnerInfo); BuscarObjetoInactivo("Blurred Sheet").SetActive(true); BuscarObjetoInactivo("Game Over Panel").SetActive(true); BuscarObjetoInactivo("Winner Name Text").GetComponent <Text>().text = winner.Jugador; Jugador.instance.PartidasJugadas++; if (Jugador.instance.Username.Equals(winner.Jugador)) { Jugador.instance.PartidasGanadas++; } }