コード例 #1
0
    /// <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();
    }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
    /// <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++;
        }
    }