Пример #1
0
    void OnAllGroupRsp(object msg, int app_type, int app_id)
    {
        Debug.LogFormat("收到了all group回复");
        bs.hallclient.AllGroupRsp rsp = (bs.hallclient.AllGroupRsp)msg;

        for (int i = 0; i < rsp.items.Count; i++)
        {
            UserData.GroupInfo info = new UserData.GroupInfo();
            info.page_id       = rsp.page_id;
            info.group_id      = rsp.items[i].group_id;
            info.ver_code      = rsp.ver_code;
            info.show_name     = rsp.items[i].show_name;
            info.group_order   = rsp.items[i].group_order;
            info.show_platform = rsp.items[i].show_platform;
            info.icon_index    = rsp.items[i].icon_index;
            info.own_lists     = new Dictionary <uint, UserData.ListInfo>();

            //插入元素
            if (UserData.hall_info.ContainsKey(info.group_id) == false)
            {
                UserData.hall_info.Add(info.group_id, info);
            }
        }
    }
Пример #2
0
    public static object RecvMessage(ref int kind_id, ref int sub_id, ref int app_type, ref int app_id)
    {
        int check_kind_id = 0;
        int size          = GetMsgBuffSize(ref check_kind_id);

        if (0 == size && 0 == check_kind_id)  //因为还有像hellorsp这样的没有报文长度但是有返回的报文,不能只靠size是否为0来判断
        {
            return(null);
        }
        byte[] buff = new byte[size];
        //int kind_id = 0;
        GetMsgBuff(buff, ref kind_id, ref sub_id);

        System.IO.Stream stream = new System.IO.MemoryStream(buff);

        switch (kind_id)
        {
        case (int)Middleware.EnumCommandKind.HallClient:
            switch (sub_id)
            {
            case (int)bs.hallclient.CMDID_HallClient.IDAllGroupRsp:
            {
                bs.hallclient.AllGroupRsp req = Serializer.Deserialize <bs.hallclient.AllGroupRsp>(stream);
                return(req);
            }

            case (int)bs.hallclient.CMDID_HallClient.IDAllListRsp:
            {
                bs.hallclient.AllListRsp req = Serializer.Deserialize <bs.hallclient.AllListRsp>(stream);
                return(req);
            }

            case (int)bs.hallclient.CMDID_HallClient.IDAllPlanRsp:
            {
                bs.hallclient.AllPlanRsp req = Serializer.Deserialize <bs.hallclient.AllPlanRsp>(stream);
                return(req);
            }

            case (int)bs.hallclient.CMDID_HallClient.IDPlanAllStartPoint:
            {
                bs.hallclient.PlanAllStartPoint req = Serializer.Deserialize <bs.hallclient.PlanAllStartPoint>(stream);
                return(req);
            }

            case (int)bs.hallclient.CMDID_HallClient.IDGetMatchDetailRsp:
            {
                bs.hallclient.GetMatchDetailRsp req = Serializer.Deserialize <bs.hallclient.GetMatchDetailRsp>(stream);
                return(req);
            }

            default:
                break;
            }
            break;

        case (int)EnumCommandKind.Client:
            switch (sub_id)
            {
            case (int)bs.client.CMDID_Client.IDLoginRsp:
            {
                bs.client.LoginRsp req = Serializer.Deserialize <bs.client.LoginRsp>(stream);
                return(req);
            }

            default:
                break;
            }
            break;

        case (int)EnumCommandKind.Gate:
            switch (sub_id)
            {
            case (int)bs.gate.CMDID_Gate.IDHelloRsp:
            {
                bs.gate.HelloRsp req = new bs.gate.HelloRsp();
                Debug.LogFormat("get hellorsp");
                return(req);
            }

            default:
                break;
            }
            break;

        case (int)Middleware.EnumCommandKind.MatchClient:
            switch (sub_id)
            {
            case (int)bs.matchclient.CMDID_MatchClient.IDJoinRsp:           //报名回复
            {
                bs.matchclient.JoinRsp req = Serializer.Deserialize <bs.matchclient.JoinRsp>(stream);
                return(req);
            }

            case (int)bs.matchclient.CMDID_MatchClient.IDMatchStart:            //开赛通知
            {
                bs.matchclient.MatchStart req = Serializer.Deserialize <bs.matchclient.MatchStart>(stream);
                return(req);
            }

            case (int)bs.matchclient.CMDID_MatchClient.IDEnterMatchRsp:         //进入比赛通知
            {
                bs.matchclient.EnterMatchRsp req = Serializer.Deserialize <bs.matchclient.EnterMatchRsp>(stream);
                return(req);
            }

            case (int)bs.matchclient.CMDID_MatchClient.IDTableStatusInd:
            {
                bs.matchclient.TableStatus req = Serializer.Deserialize <bs.matchclient.TableStatus>(stream);
                return(req);
            }

            case (int)bs.matchclient.CMDID_MatchClient.IDGameData:
            {
                bs.matchclient.GameData req = Serializer.Deserialize <bs.matchclient.GameData>(stream);
                return(req);
            }

            default:
                break;
            }
            break;

        default:
            break;
        }

        return(null);
    }