From f6fc5764aa2d68979084a0ff2a63639bf454efb0 Mon Sep 17 00:00:00 2001 From: Sorrel Bri Date: Sun, 13 Oct 2019 12:56:46 -0700 Subject: [PATCH] broadcast players to all in game room --- api/games/api_games.py | 3 ++- websockets/roomSocket.py | 25 +++++++++++-------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/api/games/api_games.py b/api/games/api_games.py index a038c6b..492cf0d 100644 --- a/api/games/api_games.py +++ b/api/games/api_games.py @@ -26,7 +26,8 @@ def get_room(game_id): game.player_black = user['id'] db.session.add(game) db.session.commit() - join_game_notice(game_id, user) + print(game.player_black) + join_game_notice(game) response = {'game': game_schema.dumps(game)} if game.player_black: response['black'] = user_schema.dumps(User.query.filter_by(id=game.player_black).first()) diff --git a/websockets/roomSocket.py b/websockets/roomSocket.py index 57a1fd2..349ace0 100644 --- a/websockets/roomSocket.py +++ b/websockets/roomSocket.py @@ -18,19 +18,16 @@ def new_game_notice(room, game): def new_room_notice(room): socketio.emit('new room', room, broadcast=True) -def join_game_notice(game_id, user): - @socketio.on('join game') +def join_game_notice(game): + print('join game') + print(game) + black = user_schema.dumps(User.query.filter_by(id=game.player_black).first()) + white = user_schema.dumps(User.query.filter_by(id=game.player_white).first()) + room_id = game.game_room + game_id = game.id + print(black) + @socketio.on('join game', namespace=f'/{room_id}') def handle_join_game(data): - print(data) - game_id = data['game'] - user_id = data['user'] - game = Game.query.filter_by(id=game_id).first() - print('join game') - print(game) - print(game['player_black']) + print('emit join game') join_room(game_id) - if not game['player_black']: - game['player_black'] = user - user = user_schema.dumps(User.query.filter_by(id=user_id).first()) - emit('new player', {'black': user}, broadcast=True) - emit('join game', data, room=f'game') + emit('join game', {'black': black, 'white': white}, broadcast=True)