/// <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; }
/// <summary> /// 离开匹配房间 /// </summary> /// <param name="userID"></param> /// <returns></returns> public MatchRoom Leave(int userID) { //根据用户ID 获取房间ID int roomID = uIDRoomIdDict[userID]; //根据房间ID 获取房间数据模型对象 MatchRoom room = roomIDModelDict[roomID]; room.LeaveRoom(userID); // 移除玩家等待房间字典映射 uIDRoomIdDict.Remove(userID); //房间是否空 if (room.IsEmpty()) { roomIDModelDict.Remove(room.id); roomQueue.Enqueue(room); } return(room); }