game: core: use server game calulation form

This commit is contained in:
2024-01-17 14:23:23 +01:00
parent b2dc43c1d8
commit 2bd0624100
15 changed files with 274 additions and 110 deletions

View File

@ -6,8 +6,11 @@ import json
from .objects.GameRoomManager import GameRoomManager
from .objects.GameMember import GameMember
from .objects.Game import Game
from .objects.GameManager import GameManager
game_room_manager: GameRoomManager = GameRoomManager()
game_manager: GameManager = GameManager()
class GameWebSocket(WebsocketConsumer):
@ -16,6 +19,9 @@ class GameWebSocket(WebsocketConsumer):
self.channel_name = "games"
self.group_name = "games"
def send_game_data(self):
self.member.send("init_game", self.game.to_dict())
def connect(self):
self.user: User = self.scope["user"]
@ -25,6 +31,8 @@ class GameWebSocket(WebsocketConsumer):
self.channel_layer.group_add(self.group_name, self.channel_name)
self.game_id = int(self.scope['url_route']['kwargs']['game_id'])
self.game = game_manager.get(self.game_id)
self.room = game_room_manager.get(self.game_id)
@ -36,6 +44,8 @@ class GameWebSocket(WebsocketConsumer):
self.room.append(self.member)
self.send_game_data()
def receive(self, text_data: str = None, bytes_data: bytes = None):
if (text_data is None):