[Feat] : Automatically join a game when created
release-tag / release-image (push) Successful in 12s

Closes legonzaur/heron-realms-front#45
This commit is contained in:
2024-05-16 14:53:37 +02:00
parent 17f5b606cc
commit ea52589aab
2 changed files with 15 additions and 5 deletions
+5 -4
View File
@@ -37,14 +37,14 @@ class LobbyController:
await c.send(message) await c.send(message)
async def create_game(self): async def create_game(self):
game = GameController(self.lobby.create_game(), self) game_ctrler = GameController(self.lobby.create_game(), self)
self.games.append(game) self.games.append(game_ctrler)
await game.game.init_game() await game_ctrler.game.init_game()
await self.broadcast_to_unconnected( await self.broadcast_to_unconnected(
Message( Message(
type=MessageType.CREATE, type=MessageType.CREATE,
data_type="object", data_type="object",
data=game.game.serialize_guest(), data=game_ctrler.game.serialize_guest(),
), ),
) )
await self.broadcast_to_unconnected( await self.broadcast_to_unconnected(
@@ -54,3 +54,4 @@ class LobbyController:
data=self.lobby.serialize(), data=self.lobby.serialize(),
), ),
) )
return game_ctrler
+10 -1
View File
@@ -156,7 +156,16 @@ class LobbyClientController:
async def lobby_context(self, message: Message) -> None: async def lobby_context(self, message: Message) -> None:
if message.type == MessageType.CREATE: if message.type == MessageType.CREATE:
if message.data_type == "game": if message.data_type == "game":
await self.lobby_controller.create_game() game_ctrler = await self.lobby_controller.create_game()
self.game_client = ClientController(game_ctrler, self.websocket)
self.on_message = self.game_context
await self.game_client.game_controller.announce_game(self.websocket)
await self.game_client.join_game(
game_ctrler.game,
self.username,
self.discord_uid,
self.discord_avatar,
)
if message.type == MessageType.JOIN: if message.type == MessageType.JOIN:
if message.data_type == "game": if message.data_type == "game":
game_ctrler = next( game_ctrler = next(