game: fix: cleint see others players update

This commit is contained in:
starnakin 2024-02-27 09:02:41 +01:00 committed by AdrienLSH
parent a9337130e8
commit 049c7a500d
3 changed files with 6 additions and 10 deletions

View File

@ -134,15 +134,14 @@ class Game(AbstractRoom):
if (self._everbody_is_here()): if (self._everbody_is_here()):
self.start() self.start()
self._update_player(player) self.update_player(player)
return player return player
def _update_player(self, player: Player): def update_player(self, player: Player):
self._updated_players.append(player) self._updated_players.append(player)
def finish(self, winner: Player): def finish(self, winner: Player):
print("yo")
self.broadcast("finish", {"winner": winner.to_dict()}) self.broadcast("finish", {"winner": winner.to_dict()})
self.model.finish(winner.user_id) self.model.finish(winner.user_id)
@ -156,7 +155,7 @@ class Game(AbstractRoom):
self.finish(last_player) self.finish(last_player)
return return
self._update_player(player) self.update_player(player)
def _spectator_join(self, user_id: int, socket: WebsocketConsumer): def _spectator_join(self, user_id: int, socket: WebsocketConsumer):

View File

@ -92,7 +92,7 @@ class Player(Spectator):
invalid_pos: bool = new_position.position != new_position_verified.position invalid_pos: bool = new_position.position != new_position_verified.position
if (new_position != self.position): if (new_position != self.position):
self.game._update_player(self) self.game.update_player(self)
self.position = new_position self.position = new_position
@ -102,14 +102,13 @@ class Player(Spectator):
def connect(self, socket: WebsocketConsumer): def connect(self, socket: WebsocketConsumer):
self.socket = socket self.socket = socket
self.accept() self.accept()
self.game._update_player(self) self.game.update_player(self)
def is_connected(self): def is_connected(self):
return self.socket != None return self.socket != None
def disconnect(self, code: int = 1000): def disconnect(self, code: int = 1000):
self.socket = None self.socket = None
print("bozoman")
self.game.leave(self) self.game.leave(self)
def add_goal(self): def add_goal(self):
@ -118,8 +117,6 @@ class Player(Spectator):
self.score.append(timestamp) self.score.append(timestamp)
print(self.score)
return timestamp return timestamp
def to_dict(self) -> dict: def to_dict(self) -> dict:

View File

@ -277,7 +277,7 @@ async def render_players(game: Game):
while True: while True:
for player in game._updated_players: for player in game._updated_players:
game.broadcast("update_paddle", player.to_dict(), [player]) await SyncToAsync(game.broadcast)("update_paddle", player.to_dict(), [player])
game._updated_players.clear() game._updated_players.clear()