コード例 #1
0
        public void BattleStartHandler(NetConnection connection, object data)
        {
            PlayerInitDatas inits = GCli.Deserialize <PlayerInitDatas>((byte[])data);

            GCli.ClearPacketHandler();
            room.SetActive(false);
            menu.SetActive(false);

            GCli.SetPacketHandler(MessageType.Snapshot, DataType.Bytes, SnapshotHandler);
            GCli.SetPacketHandler(MessageType.ReplyWon, DataType.Int32, ReplyWonHandler);
            GCli.SetPacketHandler(MessageType.BattleEnd, DataType.Null, BattleEndHandler);
            GCli.SetPacketHandler(MessageType.ReplySetBlock, DataType.Bytes, ReplySetBlockHandler);
            GCli.SetPacketHandler(MessageType.ReplyFire, DataType.Int32, ReplyFire);

            foreach (PlayerInitData init in inits.datas)
            {
                if (init.sync.userid == Players.userid)
                {
                    World.SetCoreFaction(init.faction);

                    Players.AddPlayer(init);
                }
            }
            foreach (PlayerInitData init in inits.datas)
            {
                if (init.sync.userid != Players.userid)
                {
                    Players.AddOtherPlayer(init);
                }
            }
        }
コード例 #2
0
        public void ConnectHandler(NetConnection connection, object data)
        {
            GCli.ClearPacketHandler();
            debugText.text = "";
            start.SetActive(true);

            GCli.SetPacketHandler(MessageType.ReplyUserID, DataType.Int32, ReplyUserIDHandler);
        }
コード例 #3
0
        public void ReplySuccessLeaveRoomHandler(NetConnection connection, object data)
        {
            GCli.ClearPacketHandler();
            room.SetActive(false);
            lobby.SetActive(true);

            GCli.SetPacketHandler(MessageType.ReplyLobbyState, DataType.Bytes, ReplyLobbyStateHandler);
            GCli.SetPacketHandler(MessageType.ReplySuccessEnterRoom, DataType.Null, ReplySuccessEnterRoomHandler);
        }
コード例 #4
0
        public void ConnectSuccessHandler(NetConnection connection, object data)
        {
            GCli.ClearPacketHandler();

            InitData init = GCli.Deserialize <InitData>((byte[])data);

            GameObject.Find("Canvas").GetComponent <UIScript>().SetInitData(init.bmps);
            Players.SetPlayer(init.sync);

            GCli.SetPacketHandler(MessageType.Snapshot, DataType.Bytes, SnapshotHandler);
        }
コード例 #5
0
        public void ReplyUserIDHandler(NetConnection connection, object data)
        {
            Players.userid = (int)data;

            GCli.ClearPacketHandler();
            start.SetActive(false);
            lobby.SetActive(true);

            GCli.SetPacketHandler(MessageType.ReplyLobbyState, DataType.Bytes, ReplyLobbyStateHandler);
            GCli.SetPacketHandler(MessageType.ReplySuccessEnterRoom, DataType.Null, ReplySuccessEnterRoomHandler);
        }
コード例 #6
0
        public void BattleEndHandler(NetConnection connection, object data)
        {
            GCli.ClearPacketHandler();

            Players.Destroy();
            Cursor.lockState = CursorLockMode.None;
            Cursor.visible   = true;
            World.CreateDefaultBlocks();

            menu.SetActive(true);
            room.SetActive(true);

            GCli.SetPacketHandler(MessageType.ReplyRoomState, DataType.Bytes, ReplyRoomStateHandler);
            GCli.SetPacketHandler(MessageType.ReplySuccessLeaveRoom, DataType.Null, ReplySuccessLeaveRoomHandler);
            GCli.SetPacketHandler(MessageType.BattleStart, DataType.Bytes, BattleStartHandler);
        }
コード例 #7
0
        public void ConnectHandler(NetConnection connection, object data)
        {
            GCli.ClearPacketHandler();

            GCli.SetPacketHandler(MessageType.ConnectSuccess, DataType.Bytes, ConnectSuccessHandler);
        }