this.name = name;
this.connections = [connection];
this.team = no_team;
+ this.active = true;
}
add_connection(connection) {
remove_player_connection(player, connection) {
const remaining = player.remove_connection(connection);
if (remaining === 0) {
+ player.active = false;
const player_data = JSON.stringify({ id: player.id });
- this.players.filter(p => p !== player);
- delete this.players_by_session[player.session_id];
this.broadcast_event("player-exit", player_data);
}
}
/* And the player-info event. */
response.write(`event: player-info\ndata: ${player.info_json()}\n\n`);
- /* As well as player-enter events for all existing players. */
- this.players.filter(p => p !== player).forEach(p => {
+ /* As well as player-enter events for all existing, active players. */
+ this.players.filter(p => p !== player && p.active).forEach(p => {
response.write(`event: player-enter\ndata: ${p.info_json()}\n\n`);
});