From 351aafa7ed0e7839d9308d9e2302852eb0688b6a Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sat, 27 Jun 2020 11:07:49 -0700 Subject: [PATCH] empathy: Track the player-exit event Now that the server is correctly noticing when a client drops it connection, and notifying clients when a player has dropped every connection, we now listen for that and drop players from our list when they have left the game. --- empathy/empathy.jsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/empathy/empathy.jsx b/empathy/empathy.jsx index 0c1fccf..20612e3 100644 --- a/empathy/empathy.jsx +++ b/empathy/empathy.jsx @@ -45,6 +45,12 @@ events.addEventListener("player-enter", event => { window.game.set_other_player_info(info); }); +events.addEventListener("player-exit", event => { + const info = JSON.parse(event.data); + + window.game.remove_player(info); +}); + events.addEventListener("player-update", event => { const info = JSON.parse(event.data); @@ -827,6 +833,12 @@ class Game extends React.PureComponent { }); } + remove_player(info) { + this.setState({ + other_players: this.state.other_players.filter(o => o.id !== info.id) + }); + } + reset_game_state() { this.setState({ prompts: [], -- 2.43.0