Ejemplo n.º 1
0
        protected override void OnGamepadPluggedIn(SocketGamepad gamepad)
        {
            if (!ActiveGamepads.ContainsKey(gamepad))
            {
                GameObject PlayerObj = Instantiate(PlayerPrefab, transform);
                Paddle     Player    = PlayerObj.GetComponent <Paddle>();
                Player.FyoApp   = this;
                Player.Gamepad  = gamepad;
                Player.PlayerId = ActiveGamepads.Count;
                ActiveGamepads.Add(gamepad, Player);

                if (Player.PlayerId < PlayerStart.Count)
                {
                    RectTransform t  = PlayerStart[Player.PlayerId];
                    RectTransform pt = Player.GetComponent <RectTransform>();

                    //Set Player Color
                    UnityEngine.UI.Image PlayerStartImg = PlayerStart[Player.PlayerId].GetComponent <UnityEngine.UI.Image>();
                    UnityEngine.UI.Image PlayerImg      = pt.GetComponent <UnityEngine.UI.Image>();
                    PlayerImg.color = PlayerStartImg.color;

                    pt.position   = t.position;
                    pt.rotation   = t.rotation;
                    pt.localScale = t.localScale;
                    pt.SetParent(transform);

                    SGUpdateMsg ControllerUpdate = new SGUpdateMsg(gamepad);
                    ControllerUpdate.Data = new JSONObject();
                    ControllerUpdate.Data.AddField("MessageType", JSONObject.CreateStringObject("PlayerColor"));
                    ControllerUpdate.Data.AddField("Color", JSONObject.CreateStringObject(PlayerImg.color.ToString()));

                    PlayerStart[Player.PlayerId].gameObject.SetActive(false);
                }
            }
        }
Ejemplo n.º 2
0
        protected void SendMyTurn()
        {
            SGUpdateMsg MyTurnMsg = new SGUpdateMsg();

            MyTurnMsg.SGID        = PlayerTurn == 1 ? XPlayer.Gamepad.SGID : OPlayer.Gamepad.SGID;
            MyTurnMsg.MessageType = "turn";
            MyTurnMsg.Data        = new JSONObject();
            MyTurnMsg.Serialize();

            Debug.Log("Sending 'turn': " + MyTurnMsg.ToString());
            socket.Emit("SGUpdateMsg", MyTurnMsg);
        }
Ejemplo n.º 3
0
        protected void SendGameEnd()
        {
            SGUpdateMsg ResetGameMsg = new SGUpdateMsg();

            ResetGameMsg.SGID        = -1;
            ResetGameMsg.MessageType = "finish";
            ResetGameMsg.Data        = new JSONObject();
            ResetGameMsg.Data.AddField("winner", Winner > 2 ? 0 : Winner);
            ResetGameMsg.Serialize();

            Debug.Log("Sending 'finish': " + ResetGameMsg.ToString());

            socket.Emit("SGUpdateMsg", ResetGameMsg);
        }
Ejemplo n.º 4
0
        protected void SendCellUpdate(int cellid, int mark)
        {
            SGUpdateMsg SetCellOnController = new SGUpdateMsg();

            JSONObject CellState = new JSONObject();

            CellState.AddField("cell", cellid);
            CellState.AddField("state", mark);

            SetCellOnController.SGID        = -2;
            SetCellOnController.MessageType = "cell";
            SetCellOnController.Data        = CellState;
            SetCellOnController.Serialize();

            socket.Emit("SGUpdateMsg", SetCellOnController);
        }
Ejemplo n.º 5
0
        protected void SendGameStart()
        {
            SGUpdateMsg StartGameMsg = new SGUpdateMsg();

            StartGameMsg.SGID        = XPlayer.Gamepad.SGID;
            StartGameMsg.MessageType = "start";
            StartGameMsg.Data        = new JSONObject();

            StartGameMsg.Data.AddField("mark", 1);
            StartGameMsg.Serialize();

            Debug.Log("Sending 'start': " + StartGameMsg.ToString());
            socket.Emit("SGUpdateMsg", StartGameMsg);

            StartGameMsg.SGID = OPlayer.Gamepad.SGID;
            StartGameMsg.Data.SetField("mark", 2);
            StartGameMsg.Serialize();
            Debug.Log("Sending 'start': " + StartGameMsg.ToString());
            socket.Emit("SGUpdateMsg", StartGameMsg);
        }
Ejemplo n.º 6
0
        protected void SendGameState(SocketGamepad gamepad)
        {
            SGUpdateMsg     GameStateMsg = new SGUpdateMsg();
            TicTacToePlayer tttPlayer    = (TicTacToePlayer)ActiveGamepads[gamepad];

            GameStateMsg.SGID        = tttPlayer.PlayerId;
            GameStateMsg.MessageType = "gamestate";
            GameStateMsg.Data        = new JSONObject();
            JSONObject CellJSON = new JSONObject(JSONObject.Type.ARRAY);

            GameStateMsg.Data.AddField("mark", tttPlayer.Xs ? 1 : 2);
            for (int m = 0; m < 9; m++)
            {
                CellJSON.list.Add(new JSONObject(Grid[m].CurrentMark));
            }
            GameStateMsg.Data.AddField("cells", CellJSON);
            GameStateMsg.Serialize();

            Debug.Log("Sending Game State: " + GameStateMsg.ToString());

            socket.Emit("SGUpdateMsg", GameStateMsg);
        }