コード例 #1
0
        public object DeserializeFrom(ushort opcode, byte[] bytes, int index, int count)
        {
            var type = (EMsgSC)opcode;

            switch (type)
            {
            //ping
            case EMsgSC.C2G_PlayerPing: return(BaseFormater.FromBytes <Msg_C2G_PlayerPing>(bytes, index, count));

            case EMsgSC.G2C_PlayerPing: return(BaseFormater.FromBytes <Msg_G2C_PlayerPing>(bytes, index, count));

            //login
            case EMsgSC.L2C_JoinRoomResult: return(BaseFormater.FromBytes <Msg_L2C_JoinRoomResult>(bytes, index, count));

            case EMsgSC.C2L_Test: return(BaseFormater.FromBytes <Msg_C2L_Test>(bytes, index, count));

            case EMsgSC.C2L_JoinRoom: return(BaseFormater.FromBytes <Msg_C2L_JoinRoom>(bytes, index, count));

            case EMsgSC.C2L_LeaveRoom: return(BaseFormater.FromBytes <Msg_C2L_LeaveRoom>(bytes, index, count));

            case EMsgSC.C2G_LoadingProgress: return(BaseFormater.FromBytes <Msg_C2G_LoadingProgress>(bytes, index, count));

            //room
            case EMsgSC.G2C_Hello: return(BaseFormater.FromBytes <Msg_G2C_Hello>(bytes, index, count));

            case EMsgSC.G2C_FrameData: return(BaseFormater.FromBytes <Msg_ServerFrames>(bytes, index, count));

            case EMsgSC.G2C_RepMissFrame: return(BaseFormater.FromBytes <Msg_RepMissFrame>(bytes, index, count));

            case EMsgSC.G2C_GameEvent: return(BaseFormater.FromBytes <Msg_G2C_GameEvent>(bytes, index, count));

            case EMsgSC.G2C_GameStartInfo: return(BaseFormater.FromBytes <Msg_G2C_GameStartInfo>(bytes, index, count));

            case EMsgSC.G2C_LoadingProgress: return(BaseFormater.FromBytes <Msg_G2C_LoadingProgress>(bytes, index, count));

            case EMsgSC.G2C_AllFinishedLoaded: return(BaseFormater.FromBytes <Msg_G2C_AllFinishedLoaded>(bytes, index, count));

            case EMsgSC.C2G_PlayerInput: return(BaseFormater.FromBytes <Msg_PlayerInput>(bytes, index, count));

            case EMsgSC.C2G_ReqMissFrame: return(BaseFormater.FromBytes <Msg_ReqMissFrame>(bytes, index, count));

            case EMsgSC.C2G_RepMissFrameAck: return(BaseFormater.FromBytes <Msg_RepMissFrameAck>(bytes, index, count));

            case EMsgSC.C2G_HashCode: return(BaseFormater.FromBytes <Msg_HashCode>(bytes, index, count));
            }

            return(null);
        }
コード例 #2
0
        public object DeserializeFrom(ushort opcode, byte[] bytes, int index, int count)
        {
            var type = (EMsgType)opcode;

            switch (type)
            {
            case EMsgType.JoinRoom: return(BaseFormater.FromBytes <Msg_JoinRoom>(bytes, index, count));

            case EMsgType.QuitRoom: return(BaseFormater.FromBytes <Msg_QuitRoom>(bytes, index, count));

            case EMsgType.PlayerInput: return(BaseFormater.FromBytes <Msg_PlayerInput>(bytes, index, count));

            case EMsgType.FrameInput: return(BaseFormater.FromBytes <Msg_FrameInput>(bytes, index, count));

            case EMsgType.StartGame: return(BaseFormater.FromBytes <Msg_StartGame>(bytes, index, count));
            }

            return(null);
        }
コード例 #3
0
        // Token: 0x06000195 RID: 405 RVA: 0x00005B38 File Offset: 0x00003D38
        public object DeserializeFrom(ushort opcode, byte[] bytes, int index, int count)
        {
            if (opcode <= 25)
            {
                switch (opcode)
                {
                case 6:
                    return(BaseFormater.FromBytes <Msg_ReqMissFrame>(bytes, index, count));

                case 7:
                    return(BaseFormater.FromBytes <Msg_RepMissFrameAck>(bytes, index, count));

                case 8:
                    return(BaseFormater.FromBytes <Msg_RepMissFrame>(bytes, index, count));

                case 9:
                    return(BaseFormater.FromBytes <Msg_HashCode>(bytes, index, count));

                case 10:
                    return(BaseFormater.FromBytes <Msg_PlayerInput>(bytes, index, count));

                case 11:
                    return(BaseFormater.FromBytes <Msg_ServerFrames>(bytes, index, count));

                case 12:
                    return(BaseFormater.FromBytes <Msg_C2G_PlayerPing>(bytes, index, count));

                case 13:
                    return(BaseFormater.FromBytes <Msg_G2C_PlayerPing>(bytes, index, count));

                default:
                    if (opcode == 25)
                    {
                        return(BaseFormater.FromBytes <Msg_C2L_JoinRoom>(bytes, index, count));
                    }
                    break;
                }
            }
            else
            {
                if (opcode == 27)
                {
                    return(BaseFormater.FromBytes <Msg_L2C_JoinRoomResult>(bytes, index, count));
                }
                if (opcode == 30)
                {
                    return(BaseFormater.FromBytes <Msg_C2L_LeaveRoom>(bytes, index, count));
                }
                switch (opcode)
                {
                case 39:
                    return(BaseFormater.FromBytes <Msg_G2C_Hello>(bytes, index, count));

                case 40:
                    return(BaseFormater.FromBytes <Msg_G2C_GameStartInfo>(bytes, index, count));

                case 41:
                    return(BaseFormater.FromBytes <Msg_C2G_LoadingProgress>(bytes, index, count));

                case 42:
                    return(BaseFormater.FromBytes <Msg_G2C_LoadingProgress>(bytes, index, count));

                case 43:
                    return(BaseFormater.FromBytes <Msg_G2C_AllFinishedLoaded>(bytes, index, count));

                case 47:
                    return(BaseFormater.FromBytes <Msg_G2C_GameEvent>(bytes, index, count));
                }
            }
            return(null);
        }