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.
*/
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;
}
/* 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;