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