/// <summary> /// 创建与服务器链接的ID /// </summary> public void ConnectPrivateByKindID() { TagGameServer tagServer = CServerListData.Instance.GetTagServerByKindID(GlobalDataScript.SSS_KIND_ID); string ip = NetUtil.BytesToString(tagServer.szServerAddr); SocketInGameEvent.Instance.ISocketEngineSink(ip, tagServer.wServerPort); }
//返回搜索房间结果 public void Search_Result(byte[] tmpBuf, int size) { CMD_MB_SearchResult result = NetUtil.BytesToStruct <CMD_MB_SearchResult>(tmpBuf); if (result.dwServerID == 0) { MyDebug.Log("返回搜索房间结果"); SocketEventHandle.Instance.SetTips("房间号不存在!!!"); SocketEngine.Instance.SocketQuit(); return; } SocketEngine.Instance.SocketQuit(false); TagGameServer serverInfo = CServerListData.Instance.GetTagServerByServerID((int)result.dwServerID); if (serverInfo.wKindID == GlobalDataScript.SSS_KIND_ID) { SocketSSSEvent.instance.Init(); SocketSSSEvent.instance.tableId = (int)result.dwTableID; SocketSSSEvent.instance.ConnectGameServerByServerID(serverInfo.wServerID); } //牛牛待添加... else if (serverInfo.wKindID == GlobalDataScript.NN_KIND_ID) { SocketNiuNiuEvent.instance.Init(); SocketNiuNiuEvent.instance.tableId = (int)result.dwTableID; SocketNiuNiuEvent.instance.ConnectGameServerByServerID(serverInfo.wServerID); } }
public void ISocketEngineSinkByServerId(int serverId) { serverInfo = CServerListData.Instance.GetTagServerByServerID(serverId); socketip = NetUtil.BytesToString(serverInfo.szServerAddr); socketPort = serverInfo.wServerPort; ISocketEngineSink(); }
//插入房间 public void InsertGameServer(TagGameServer pGameServer) { if (tagGameServerList == null) { tagGameServerList = new List <TagGameServer>(); } tagGameServerList.Add(pGameServer); MyDebug.Log(" pGameServer.wServerID:" + pGameServer.wServerID); }
public void ConnectGameServerByServerID(int serverId) { TagGameServer tagServer = CServerListData.Instance.GetTagServerByServerID(serverId); if (tagServer.wKindID == 0) { UIManager.instance.Show(UIType.UITipsDialog, (go) => { go.GetComponent <UIPanel_TipsDialog>().SetMes("房间不存在"); }); return; } string ip = NetUtil.BytesToString(tagServer.szServerAddr); SocketInGameEvent.Instance.ISocketEngineSink(ip, tagServer.wServerPort); }
public void Init() { isDisslove = false; nnstatus = -1; isDisConnect = false; tableId = -1; chairId = -1; myStatue = -1; serverInfo = new TagGameServer(); socketip = null; socketPort = 0; send_buffer = null; GlobalDataScript.Instance.isExitGame = false; GlobalDataScript.Instance.isSigGameOver = false; }
public TagGameServer GetTagServerByServerID(int serverId) { TagGameServer tag = new TagGameServer(); tag.dwOnLineCount = 200000; for (int i = 0; i < tagGameServerList.Count; i++) { if (tagGameServerList[i].wServerID != serverId) { continue; } if (tag.dwOnLineCount > tagGameServerList[i].dwOnLineCount) { tag = tagGameServerList[i]; } } return(tag); }
public TagGameServer GetTagServerByKindID(int wKindID) { TagGameServer tag = new TagGameServer(); tag.dwOnLineCount = 200000; tag.wServerPort = 9000; for (int i = 0; i < tagGameServerList.Count; i++) { if (tagGameServerList[i].wKindID != wKindID) { continue; } if (tag.dwOnLineCount > tagGameServerList[i].dwOnLineCount) { tag = tagGameServerList[i]; } } return(tag); }
// 房间列表 bool OnSocketListServer(byte[] data, int size) { ////更新数据 int itemSize = Marshal.SizeOf(typeof(TagGameServer)); if (size % itemSize != 0) { return(false); } int iItemCount = size / itemSize; for (int i = 0; i < iItemCount; i++) { TagGameServer pGameServer = (TagGameServer)NetUtil.BytesToStruct(data, typeof(TagGameServer), itemSize, i * itemSize); CServerListData.Instance.InsertGameServer(pGameServer); } return(true); }