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); } } }
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); }
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); }
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); }
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); }
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); }