//WQ add. for HideSeek
        //插入大厅
        public bool InsertGameLobby(tagGameLobby sGameLobby)
        {
            ////变量定义
            //var buf = StructConverterByteArray.StructToBytes(sGameLobby);
            //tagGameLobby sGameLobbyItem = (tagGameLobby)StructConverterByteArray.BytesToStruct(buf, typeof(tagGameLobby));

            //设置索引
            m_GameLobbyItemMap[sGameLobby.wLobbyID] = sGameLobby;

            return(true);
        }
        //WQ add. for HideSeek
        //大厅列表
        bool onSocketListLobby(byte[] data, int size)
        {
            ////更新数据
            tagGameLobby tempStruct = new tagGameLobby();
            int          itemSize   = Marshal.SizeOf(tempStruct);

            if (size % itemSize != 0)
            {
                return(false);
            }
            byte[] pNetInfo   = new byte[itemSize];
            int    iItemCount = size / itemSize;

            for (int i = 0; i < iItemCount; i++)
            {
                Buffer.BlockCopy(data, i * itemSize, pNetInfo, 0, itemSize);
                tagGameLobby sGameLobby = (tagGameLobby)StructConverterByteArray.BytesToStruct(pNetInfo, typeof(tagGameLobby));
                CServerListData.shared().InsertGameLobby(sGameLobby);
            }

            //Create CGPLobbyMission
            Loom.QueueOnMainThread(() =>
            {
                if (CServerListData.shared().GetGameLobbyCount() > 0)
                {
                    tagGameLobby gameLobby = CServerListData.shared().getARandGameLobby();
                    if (gameLobby.wLobbyPort != 0)
                    {
                        CGPLobbyMission kGPLobbyMission = CGPLobbyMission.CreateInstance(gameLobby.szServerAddr, gameLobby.wLobbyPort);
                        if (kGPLobbyMission != null && !kGPLobbyMission.isAlive())
                        {
                            kGPLobbyMission.SendChatData("StartChatConnect!");//只是为了连接上
                        }
                    }
                    else
                    {
                        Debug.LogError("onSocketListLobby: incorrect wLobbyPort=0");
                    }
                }
            });

            return(true);
        }
        public tagGameLobby getARandGameLobby()
        {
            tagGameLobby sMinPlayerCoutLobby = new tagGameLobby();

            //CServerListData pListData = GameNet.CServerListData.shared();
            foreach (var cGameLobbyItem in m_GameLobbyItemMap)
            {
                sMinPlayerCoutLobby = cGameLobbyItem.Value;

                int randV = UnityEngine.Random.Range(1, 100);
                //float rand01 = (float)MersenneTwister.MT19937.Real1();
                if (randV > 50)
                {
                    break;
                }
            }

            return(sMinPlayerCoutLobby);
        }