//네트워크 함수들? public void CreateRoomBtn() { CreateRoomReq req = new CreateRoomReq(); req.protocolType = (int)Request.CreateRoom; Network.Instance.SendMessage(req); }
///////////////////////////////// 请求 ////////////////////////////////// // 创建房间 public string CreateRoom(CreateRoomReq para, Action <ResponseEvent> callback) { const int subcmd = (int)ProtoCmd.ECmdCreateRoomReq; var response = new NetResponseCallback(CreateRoomResponse); var seq = this.Send(para, subcmd, response, callback); Debugger.Log("CreateRoom_Para {0} {1}", para, seq); return(seq); }
//创建房间. public void CreateRoom(string name, string sec) { CreateRoomReq req = new CreateRoomReq(); req.hpMax = (uint)GameStateMgr.Ins.gameStatus.NetWork.Life; //章节编号×1000 + 关卡序号 req.levelIdx = (uint)GameStateMgr.Ins.gameStatus.NetWork.ChapterTemplate * 1000 + (uint)GameStateMgr.Ins.gameStatus.NetWork.LevelTemplate; req.maxPlayer = (uint)GameStateMgr.Ins.gameStatus.NetWork.MaxPlayer; req.roomName = name; req.roundTime = (uint)GameStateMgr.Ins.gameStatus.NetWork.RoundTime; req.rule = (RoomInfo.RoomRule)GameStateMgr.Ins.gameStatus.NetWork.Mode; req.secret = sec; req.version = Main.Ins.AppInfo.MeteorV2();//107 907 req.pattern = (RoomInfo.RoomPattern)GameStateMgr.Ins.gameStatus.NetWork.Pattern; if (req.pattern == RoomInfo.RoomPattern._Replay) { //向服务器发送某个录像文件 MemoryStream ms = new MemoryStream(); Serializer.Serialize(ms, GameStateMgr.Ins.gameStatus.NetWork.record); req.replay_data = ms.ToArray(); } else if (req.pattern == RoomInfo.RoomPattern._Normal) { for (int i = 0; i < GameStateMgr.Ins.gameStatus.pluginModel.Count; i++) { GameStateMgr.Ins.gameStatus.pluginModel[i].Check(); if (GameStateMgr.Ins.gameStatus.pluginModel[i].Installed) { req.models.Add((uint)GameStateMgr.Ins.gameStatus.pluginModel[i].ModelId); } } } //把本地的武器ID,模型ID传过去,其他人进入房间后,选择角色或者武器,就受到房间此信息限制 //req.weapons.Add(); //只包含外接模型-基础0-19无论如何都可以使用. //int total = GameStateMgr.Ins.gameStatus.pluginModel.Count; //for (int i = 0; i < total; i++) // req.models.Add((uint)GameStateMgr.Ins.gameStatus.pluginModel[i].ModelId); Exec(sProxy, (int)MeteorMsg.MsgType.CreateRoomReq, req); //1,人数上限 //2.关卡模式 //3.时长 //4.地图模板 //5.生命上限 //6.禁用远程武器 }
//创建房间. public static void CreateRoom(string name, string sec) { CreateRoomReq req = new CreateRoomReq(); req.hpMax = (uint)Main.Ins.GameStateMgr.gameStatus.NetWork.Life; //章节编号×1000 + 关卡序号 req.levelIdx = (uint)Main.Ins.GameStateMgr.gameStatus.NetWork.ChapterTemplate * 1000 + (uint)Main.Ins.GameStateMgr.gameStatus.NetWork.LevelTemplate; req.maxPlayer = (uint)Main.Ins.GameStateMgr.gameStatus.NetWork.MaxPlayer; req.roomName = name; req.roundTime = (uint)Main.Ins.GameStateMgr.gameStatus.NetWork.RoundTime; req.rule = (RoomInfo.RoomRule)Main.Ins.GameStateMgr.gameStatus.NetWork.Mode; req.secret = sec; req.version = Main.Ins.AppInfo.MeteorV2();//107 907 req.pattern = (RoomInfo.RoomPattern)Main.Ins.GameStateMgr.gameStatus.NetWork.Pattern; if (req.pattern == RoomInfo.RoomPattern._Replay) { //向服务器发送某个录像文件 } else if (req.pattern == RoomInfo.RoomPattern._Record) { //服务器保存录像文件,在单轮结束后 } //把本地的武器ID,模型ID传过去,其他人进入房间后,选择角色或者武器,就受到房间此信息限制 //req.weapons.Add(); //只包含外接模型-基础0-19无论如何都可以使用. int total = Main.Ins.GameStateMgr.gameStatus.pluginModel.Count; for (int i = 0; i < total; i++) { req.models.Add((uint)Main.Ins.GameStateMgr.gameStatus.pluginModel[i].ModelId); } Exec(TcpClientProxy.sProxy, (int)MeteorMsg.MsgType.CreateRoomReq, req); //1,人数上限 //2.关卡模式 //3.时长 //4.地图模板 //5.生命上限 //6.禁用远程武器 }