]> git.cworth.org Git - lmno.games/commitdiff
Add messages to message area when a player joins or leaves the game
authorCarl Worth <cworth@cworth.org>
Sun, 10 May 2020 17:06:07 +0000 (10:06 -0700)
committerCarl Worth <cworth@cworth.org>
Sun, 10 May 2020 17:06:07 +0000 (10:06 -0700)
This replaces code we had previously for adding a message to the
message area when we completed sending a register request. The new
code is more reliable in the sense that a message is added _only_
after the server reports the event for a new player. (Previously, if
the server was offline, a message would still appear saying "Player is
now in the game!" which would be false and confusing if there was no
server responding to the register request at all.)

empires/empires-client.js

index c239b223168f7b67280c1c0cbe1abb831620caed..3d528e08ba1e4efbee827b04a3c166c2ec90cd25 100644 (file)
@@ -13,13 +13,8 @@ ${message}
   message_area.insertAdjacentHTML('beforeend', message);
 }
 
-function register_loaded(name) {
-  add_message("success", name + " is now in the game!");
-}
-
 function register(form) {
   var request = new XMLHttpRequest();
-  request.addEventListener("load", register_loaded(form.name.value));
 
   request.open("POST", API + "register");
   request.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
@@ -61,6 +56,8 @@ events.addEventListener("player-join", function(event) {
   li.id = "player-" + player.id;
   li.innerText = player.name;
   players.appendChild(li);
+
+  add_message("success", player.name + " is now in the game!");
 });
 
 events.addEventListener("player-leave", function(event) {
@@ -68,6 +65,7 @@ events.addEventListener("player-leave", function(event) {
   const id = JSON.parse(event.data);
   const player = document.getElementById("player-" + id.id);
 
+  add_message("info", player.innerText + " has left the game.");
   players.removeChild(player);
 });