コード例 #1
0
ファイル: MatchCache.cs プロジェクト: hjj0416/DouDiZhu
        /// <summary>
        /// 离开匹配房间
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public MatchRoom Leave(int userId)
        {
            int       roomId = uidRoomIdDict[userId];
            MatchRoom room   = idModelDict[roomId];

            room.Leave(userId);
            uidRoomIdDict.Remove(userId);
            if (room.IsEmpty())
            {
                //空房间放入重用队列
                idModelDict.Remove(roomId);
                roomQueue.Enqueue(room);
            }
            return(room);
        }
コード例 #2
0
        /// <summary>
        /// 离开匹配房间
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public MatchRoom Leave(int userId)
        {
            int       roomId = uidRoomIdDict[userId];
            MatchRoom room   = idModelDict[roomId];

            room.Leave(userId);
            //还需要进一步的处理
            uidRoomIdDict.Remove(userId);
            if (room.IsEmpty())
            {
                //如果房间空了 那就放到重用队列里面
                idModelDict.Remove(roomId);
                roomQueue.Enqueue(room);
            }
            return(room);
        }
コード例 #3
0
ファイル: MatchCache.cs プロジェクト: kc345ws/GameServer
        public MatchRoom Leave(int uid)
        {
            int roomid = uidRoomidDic[uid];
            MatchRoom room = ridModleDic[roomid];

            room.Leave(uid);
            uidRoomidDic.Remove(uid);

            //如果房间空了
            if (room.IsEmpty())
            {
                matchRooms.Enqueue(room);
                ridModleDic.Remove(roomid);      
            }

            return room;
        }