matchmaking support multigame

This commit is contained in:
2024-03-25 14:53:15 +01:00
parent 09e7476127
commit c232f03c17
5 changed files with 79 additions and 47 deletions

View File

@ -13,9 +13,10 @@ class Waiter(AbstractRoomMember):
class WaitingRoom(AbstractRoom):
def __init__(self, room_manager,mode):
def __init__(self, room_manager, gamemode: str, mode: int):
super().__init__(room_manager)
self.mode = mode
self.gamemode = gamemode
def append(self, waiter: Waiter):
tmp: Waiter = self.get_member_by_user_id(waiter.user_id)
@ -27,12 +28,13 @@ class WaitingRoom(AbstractRoom):
class WaitingRoomManager(AbstractRoomManager):
def get(self, mode: int):
def get(self, gamemode: str, mode: int):
for waiting_room in self._room_list:
waiting_room: WaitingRoom
if (waiting_room.mode == mode):
if (waiting_room.mode == mode and waiting_room.gamemode == gamemode):
return waiting_room
tmp: WaitingRoom = WaitingRoom(self, mode)
tmp: WaitingRoom = WaitingRoom(self, gamemode, mode)
super().append(tmp)
return tmp