X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=empires%2Fempires-client.js;h=617e821dbbc05e670258934fa784062c3441e5c2;hb=05dc239c21e567bdd50d6fee2e8bffff72981b5f;hp=3d528e08ba1e4efbee827b04a3c166c2ec90cd25;hpb=a0d7917c34bd5fdb87969ff459ed3036210fc0c9;p=lmno.games diff --git a/empires/empires-client.js b/empires/empires-client.js index 3d528e0..617e821 100644 --- a/empires/empires-client.js +++ b/empires/empires-client.js @@ -69,6 +69,36 @@ events.addEventListener("player-leave", function(event) { players.removeChild(player); }); +events.addEventListener("game-state", function(event) { + const data = JSON.parse(event.data); + const old_state = data.old_state; + const new_state = data.new_state; + + const hide_selector = ".show-state-" +old_state+ ",.hide-state-" +new_state; + const show_selector = ".hide-state-" +old_state+ ",.show-state-" +new_state; + + /* Hide all elements based on the state transition. */ + var elts = document.querySelectorAll(hide_selector); + for (const elt of elts) { + elt.style.display = "none"; + } + + /* And show all elements based on the same state transition. */ + elts = document.querySelectorAll(show_selector); + for (const elt of elts) { + elt.style.display = "block"; + } +}); + +events.addEventListener("character-reveal", function(event) { + const data = JSON.parse(event.data); + const character_name = data.character; + + const character = document.getElementById("character-reveal"); + + character.innerText = character_name; +}); + events.addEventListener("capture", function(event_string) { const players = document.getElementById("players"); const event = JSON.parse(event_string.data);