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))); }
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); }