From 64a0af1235ca767c27e7cbd1f5416c359f212278 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sat, 27 Jun 2020 10:20:25 -0700 Subject: [PATCH] Fix player-enter events to use complete info_json() method Previous to this commit, the player-enter event was hardcoded to send only ID and name properties, which was enough for an actual new player. But a player-enter event can also happen when a player re-joins after being disconnected. In this case, we want the score to be sent as well. We can get everything we want by using the player's info_json() method rather than doing a custom call to JSON.stringify with a hard-coded list of properties. --- game.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/game.js b/game.js index f244eaa..5386cd2 100644 --- a/game.js +++ b/game.js @@ -172,8 +172,7 @@ class Game { */ existing.active = true; this.active_players++; - const player_data = JSON.stringify({ id: existing.id, name: existing.name }); - this.broadcast_event("player-enter", player_data); + this.broadcast_event("player-enter", existing.info_json()); } return existing; } @@ -197,8 +196,7 @@ class Game { /* Broadcast before adding player to list (to avoid announcing the * new player to itself). */ - const player_data = JSON.stringify({ id: player.id, name: player.name }); - this.broadcast_event("player-enter", player_data); + this.broadcast_event("player-enter", player.info_json()); this.players.push(player); this.players_by_session[session.id] = player; -- 2.43.0