void CancelButtonOnClick()
 {
     SoundManager.PlayButtonSound();
     //SceneManager.UnloadSceneAsync("Options Scene");
     SocketioHandler.End();
     SceneManager.LoadScene("Menu Scene", LoadSceneMode.Single);
 }
示例#2
0
    void ReconnectOnClick()
    {
        SoundManager.PlayButtonSound();
        Dictionary <string, string> args = new Dictionary <string, string>();

        SocketioHandler.Init("reconexion", args);
        SceneManager.LoadScene("Game Scene", LoadSceneMode.Single);
    }
示例#3
0
    void RandomGameOnClick()
    {
        SoundManager.PlayButtonSound();
        Dictionary <string, string> args = new Dictionary <string, string>();

        SocketioHandler.Init("buscarPartida", args);
        SceneManager.LoadScene("Lobby Scene", LoadSceneMode.Single);
    }
示例#4
0
    void InputIDButtonOnClick()
    {
        SoundManager.PlayButtonSound();
        Dictionary <string, string> args = new Dictionary <string, string>();

        args.Add("sala", IdentificadorInput.text);
        SocketioHandler.Init("unirseSala", args);
        SceneManager.LoadScene("Lobby Scene", LoadSceneMode.Single);
    }
示例#5
0
    void CreateGameOnClick()
    {
        SoundManager.PlayButtonSound();
        Dictionary <string, string> args = new Dictionary <string, string>();

        args.Add("priv", "true");
        SocketioHandler.Init("crearSala", args);
        SceneManager.LoadScene("Lobby Scene", LoadSceneMode.Single);
    }
    private void setConnectionHandlers()
    {
        SocketioHandler.AddHandler("turno", (data) =>
        {
            // A quién le toca jugar
            // data = (string)
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(turno((string)data)));
        });
        SocketioHandler.AddHandler("jugada", (data) =>
        {
            // Un jugador acaba de realizar una jugada
            // data = {
            //      user: (string),
            //      casilla: (int),
            //      ques: (string - vacío si no consigue)
            // }
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(jugada((JObject)data)));
        });
        SocketioHandler.AddHandler("finDelJuego", (data) =>
        {
            // Fin del juego con el ganador
            // data = (string)
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(findDelJuego((string)data)));
        });
        SocketioHandler.AddHandler("chat", (data) =>
        {
            // Mensaje del chat
            // data = {
            //      usuario: (string),
            //      msg: (string)
            // }

            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(chat((JObject)data)));
        });
        SocketioHandler.AddHandler("jugadorSale", (data) =>
        {
            // Un jugador acaba de abandonar la partida
            // data = (string)
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(jugadorSale((string)data)));
        });
        SocketioHandler.AddHandler("reconexionJugador", (data) =>
        {
            // Un jugador que había salido vuelve
            // data = {
            //      user: (string),
            //      imgs: {
            //          avatar: (string),
            //          banner: (string),
            //          ficha: (string),
            //      }
            // }
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(reconexionJugador((JObject)data)));
        });
    }
    private void startReconnection()
    {
        Dictionary <string, Action <object> > handlers = new Dictionary <string, Action <object> >();

        handlers.Add("estadoPartida", (data) => { GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(estadoPartida((JObject)data))); });

        SocketioHandler.Start(() => { return; }, () =>
        {
            GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => SceneManager.LoadScene("Menu Scene", LoadSceneMode.Single));
        }, handlers);
    }
    // Start is called before the first frame update
    void Start()
    {
        if (ExecuteOnMainThread == null)
        {
            ExecuteOnMainThread = new Queue <Action>();
        }

        setLider(false);
        PlayersDataScript.turno = "";

        Dictionary <string, Action <object> > handlers = new Dictionary <string, Action <object> >();

        handlers.Add("nuevoJugador", (user) =>
        {
            JObject usuario = (JObject)user;
            LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(nuevoUsuario(usuario)));
        });

        handlers.Add("cargarJugadores", (usuarios) => {
            LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(cargarJugadores((JObject)usuarios)));
        });

        handlers.Add("cambioLider", (data) =>
        {
            LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(cambioLider((JObject)data)));
        });

        handlers.Add("abandonoSala", (user) => {
            LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(salidaUsuario((string)user)));
        });

        handlers.Add("comienzoPartida", (_) => {
            LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => SceneManager.LoadScene("Game Scene", LoadSceneMode.Single));
        });

        handlers.Add("turno", (usuario) => { PlayersDataScript.turno = (string)usuario; });

        if (SocketioHandler.op.Equals("crearSala"))
        {
            StartCoroutine(setPropio());
            setLider(true);
        }

        SocketioHandler.Start(() => {
            if (SocketioHandler.op.Equals("crearSala"))
            {
                SocketioHandler.socket.Emit("obtenerIdSala", (id) => {
                    LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => StartCoroutine(setIdSala((string)id)));
                });
            }
        }, () => {
            if (LobbyBehaviourScript.ExecuteOnMainThread != null)
            {
                LobbyBehaviourScript.ExecuteOnMainThread.Enqueue(() => SceneManager.LoadScene("Menu Scene", LoadSceneMode.Single));
            }
            if (GameBehaviourScript.ExecuteOnMainThread != null)
            {
                GameBehaviourScript.ExecuteOnMainThread.Enqueue(() => SceneManager.LoadScene("Menu Scene", LoadSceneMode.Single));
            }
            SocketioHandler.End();
        }, handlers);

        StartButton.onClick.AddListener(StartButtonOnClick);
        CancelButton.onClick.AddListener(CancelButtonOnClick);
    }
 void OnApplicationQuit()
 {
     SocketioHandler.End();
 }
 void ReturnButtonOnClick()
 {
     //SceneManager.UnloadSceneAsync("Profile Scene");
     SocketioHandler.End();
     SceneManager.LoadScene("Menu Scene", LoadSceneMode.Single);
 }