X-Git-Url: https://git.cworth.org/git?p=lmno.games;a=blobdiff_plain;f=empathy%2Fempathy.jsx;h=566ad105c5e3cdb3727ffe504d74ca52e9c0efc4;hp=0771bbe3d46e04071927e93de3b01ad3f38910b7;hb=04b3139e734606e5281f7a784c3a04ce1b02cc4d;hpb=efb56934eb9333fb19e515432c5f03f47e5aa3cf diff --git a/empathy/empathy.jsx b/empathy/empathy.jsx index 0771bbe..566ad10 100644 --- a/empathy/empathy.jsx +++ b/empathy/empathy.jsx @@ -1,3 +1,5 @@ +const MAX_PROMPT_ITEMS = 20; + function undisplay(element) { element.style.display="none"; } @@ -55,11 +57,27 @@ events.addEventListener("player-update", event => { events.addEventListener("game-state", event => { const state = JSON.parse(event.data); - for (let prompt of state.prompts) { - window.game.add_or_update_prompt(prompt); - } + window.game.reset_game_state(); + + window.game.set_prompts(state.prompts); window.game.set_active_prompt(state.active_prompt); + + window.game.set_players_answered(state.players_answered); + + window.game.set_players_answering(state.players_answering); + + window.game.set_end_answers(state.end_answers); + + window.game.set_ambiguities(state.ambiguities); + + window.game.set_players_judged(state.players_judged); + + window.game.set_players_judging(state.players_judging); + + window.game.set_end_judging(state.end_judging); + + window.game.set_scores(state.scores); }); events.addEventListener("prompt", event => { @@ -74,6 +92,66 @@ events.addEventListener("start", event => { window.game.set_active_prompt(prompt); }); +events.addEventListener("player-answered", event => { + const player = JSON.parse(event.data); + + window.game.set_player_answered(player); +}); + +events.addEventListener("player-answering", event => { + const player = JSON.parse(event.data); + + window.game.set_player_answering(player); +}); + +events.addEventListener("vote-end-answers", event => { + const player = JSON.parse(event.data); + + window.game.set_player_vote_end_answers(player); +}); + +events.addEventListener("unvote-end-answers", event => { + const player = JSON.parse(event.data); + + window.game.set_player_unvote_end_answers(player); +}); + +events.addEventListener("ambiguities", event => { + const ambiguities = JSON.parse(event.data); + + window.game.set_ambiguities(ambiguities); +}); + +events.addEventListener("player-judged", event => { + const player = JSON.parse(event.data); + + window.game.set_player_judged(player); +}); + +events.addEventListener("player-judging", event => { + const player = JSON.parse(event.data); + + window.game.set_player_judging(player); +}); + +events.addEventListener("vote-end-judging", event => { + const player = JSON.parse(event.data); + + window.game.set_player_vote_end_judging(player); +}); + +events.addEventListener("unvote-end-judging", event => { + const player = JSON.parse(event.data); + + window.game.set_player_unvote_end_judging(player); +}); + +events.addEventListener("scores", event => { + const scores = JSON.parse(event.data); + + window.game.set_scores(scores); +}); + /********************************************************* * Game and supporting classes * *********************************************************/ @@ -115,10 +193,12 @@ const PlayerInfo = React.memo(props => {
- Remember, you're trying to match your answers with - what the other players submit. - Give {props.prompt.items} responses for the following prompt: -
-