コード例 #1
0
    public void C2SSureMatch()
    {
        PB_MatchTeamAdd_FMS2GS2C mMatchTeamAdd = (PB_MatchTeamAdd_FMS2GS2C)NetData.Instance.Query(MsgID.S2CMatch, (uint)MatchMsgID.Fms2Gs2CMatchAdd);

        if (mMatchTeamAdd == null)
        {
            return;
        }
        PB_MatchTeamReady_C2GS2FMS surematch = new PB_MatchTeamReady_C2GS2FMS();

        surematch.Guanqia = mMatchTeamAdd.Guanqia;
        _UnityTcpSocket.Send(MsgID.C2SMatch, (uint)MatchMsgID.C2Gs2FmsMatchReady, surematch);
    }
コード例 #2
0
    public void OnS2CMatch(NetPack pack)
    {
        Debug.LogFormat("匹配系统MatchMsgID,CMD={0}, ", pack.CMD);
        //MatchManager mMatchManager = GameObject.Find("MatchView").GetComponent<MatchManager>();
        MatchManager mMatchManager = FindObjectOfType <MatchManager>();

        switch ((MatchMsgID)pack.CMD)
        {
        case MatchMsgID.Fms2Gs2CMatchAdd:
            PB_MatchTeamAdd_FMS2GS2C mMatchTeamAdd = PB_MatchTeamAdd_FMS2GS2C.Parser.ParseFrom(pack.BodyBuffer.Bytes);
            if (mMatchTeamAdd.Ret)
            {
                NetData.Instance.Set(MsgID.S2CMatch, (uint)MatchMsgID.Fms2Gs2CMatchAdd, mMatchTeamAdd);
            }
            mMatchManager.ShowMatching(mMatchTeamAdd.Ret);
            Debug.LogFormat("OnS2CMatch,请求加入匹配队列结果:mMatchTeamAdd={0}", mMatchTeamAdd.ToString());
            break;

        case MatchMsgID.Fms2Gs2CMatchDel:
            PB_MatchTeamDel_FMS2GS2C mMatchTeamDel = PB_MatchTeamDel_FMS2GS2C.Parser.ParseFrom(pack.BodyBuffer.Bytes);
            Debug.LogFormat("OnS2CMatch,请求取消匹配队列结果:mMatchTeamDel={0}", mMatchTeamDel.ToString());
            if (mMatchTeamDel.Ret)
            {
                mMatchManager.ShowMatching(false);
            }
            break;

        case MatchMsgID.Fms2Gs2CMatchStart:
            PB_MatchTeamReady_FMS2GS2C mMatchTeamReady = PB_MatchTeamReady_FMS2GS2C.Parser.ParseFrom(pack.BodyBuffer.Bytes);
            mMatchManager.ShowMatched(true, mMatchTeamReady.Lasttime);
            foreach (PB_MatchTeamMemberInfo OnePlayersinfo in mMatchTeamReady.Playersinfo)
            {
                if (OnePlayersinfo.Pid != NetData.Instance.PlayerID)
                {
                    continue;
                }
                if (OnePlayersinfo.Ready)
                {
                    mMatchManager.SureFightBtn.interactable = false;
                    mMatchManager.sSureFightBtnText.text    = "已准备";
                }
            }
            Debug.LogFormat("OnS2CMatch,推送匹配成功,及相关信息(多次推送当作刷新信息):mMatchTeamReady={0}", mMatchTeamReady.ToString());
            break;

        case MatchMsgID.Fms2Gs2CMatchFail:
            PB_MatchTeamFail_FMS2GS2C mMatchTeamFail = PB_MatchTeamFail_FMS2GS2C.Parser.ParseFrom(pack.BodyBuffer.Bytes);
            Debug.LogFormat("OnS2CMatch,推送战斗准备失败(重新进入匹配队列):mMatchTeamFail={0}", mMatchTeamFail.ToString());
            if (mMatchTeamFail.Notmatchpidlist.Contains(NetData.Instance.PlayerID))
            {
                mMatchManager.ShowMatched(false, 0);
                mMatchManager.ShowMatching(false);
            }
            else
            {
                mMatchManager.ShowMatched(false, 0);
                mMatchManager.ShowMatching(true);
            }
            break;

        case MatchMsgID.Fms2Gs2CMatchFight:
            PB_MatchTeamFight_FMS2GS2C mMatchTeamFight = PB_MatchTeamFight_FMS2GS2C.Parser.ParseFrom(pack.BodyBuffer.Bytes);
            Debug.LogFormat("OnS2CMatch,推送战斗准备成功,开始战斗,及相关信息:mMatchTeamFight={0}", mMatchTeamFight.ToString());
            NetData.Instance.Set(MsgID.S2CMatch, (uint)MatchMsgID.Fms2Gs2CMatchFight, mMatchTeamFight);
            LoadingManager.LoadSceneAsync(SceneConfig.Fight);
            break;
        }
    }