Example #1
0
        IEnumerator StartMatch()
        {
            Debug.LogError("StartMatch: " + PressUI);
            NetDebug.netDebug.AddMsg("StartMatch");
            while (!PressUI)
            {
                yield return(null);
            }
            Util.ShowMsg("开始匹配");
            Debug.LogError("Matching");
            var cg  = CGPlayerCmd.CreateBuilder();
            var lev = UserInfo.UserLevel;


            cg.Cmd = "Match";

            //Moba场景客户端和服务器共享的逻辑配置
            //103 是Moba场景配置
            var levelids = new List <int>()
            {
                103,
            };

            var rd    = Random.Range(0, levelids.Count);
            var rinfo = RoomInfo.CreateBuilder();

            rinfo.MaxPlayerNum = MatchNum;
            if (GameConst.Instance.TestMap != 0)
            {
                rinfo.LevelId = GameConst.Instance.TestMap;
            }
            else
            {
                rinfo.LevelId = levelids[rd];
            }
            var rin = cg.RoomInfo = rinfo.Build();

            Bundle bundle;
            var    data = KBEngine.Bundle.GetPacketFull(cg, out bundle);

            yield return(StartCoroutine(rc.SendWaitResponse(data.data, data.fid, (packet) =>
            {
                var cmd = packet.protoBody as GCPlayerCmd;
                roomInfo = cmd.RoomInfo;
                Util.ShowMsg("加载关卡:" + roomInfo.LevelId);
            }, bundle)));
        }
Example #2
0
 public bool doScene(string groupNickName, string groupUserName, List <Contact> contactList)
 {
     if (((contactList == null) || (contactList.Count == 0)) || (string.IsNullOrEmpty(groupNickName) || string.IsNullOrEmpty(groupUserName)))
     {
         Log.d("NetSceneGroupCard", "doScene,invalid input para");
         return(false);
     }
     base.beginBuilder();
     base.mBuilder.BaseRequest   = NetSceneBase.makeBaseRequest(0);
     base.mBuilder.OpCode        = 1;
     base.mBuilder.GroupNickName = groupNickName;
     base.mBuilder.GroupUserName = groupUserName;
     foreach (Contact contact in contactList)
     {
         base.mBuilder.MemberListList.Add(RoomInfo.CreateBuilder().SetUserName(Util.toSKString(contact.strUsrName)).SetNickName(Util.toSKString(contact.strNickName)).Build());
     }
     base.mBuilder.MemberCount      = (uint)contactList.Count;
     base.mSessionPack.mConnectMode = 2;
     base.mSessionPack.mCmdUri      = "/cgi-bin/micromsg-bin/addgroupcard";
     base.endBuilder();
     return(true);
 }