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);
<div id="message-area">
</div>
- <div id="pre-game">
+ <div id="loading" class="show-state-none">
+ <h1>The Game of Empires</h1>
+
+ <p>
+ Contacting server. Please wait...
+ </p>
+ </div>
+
+ <div id="pre-game" class="show-state-join">
<h1>Welcome to the game of Empires!</h1>
</div>
- <div>
+ <div class="show-state-reveal">
+ <h1>Watch and memorize each character!</h1>
+
+ <h1 id="character-reveal"></h1>
+ </div>
+
+ <div class="hide-state-reveal">
<h1>Players in the game</h1>
<ul id="players">