From 6ae3309fc78ab84e973562dee6c1dff94abcccfe Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sun, 10 May 2020 10:06:07 -0700 Subject: [PATCH] Add messages to message area when a player joins or leaves the game 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-client.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/empires-client.js b/empires-client.js index c239b22..3d528e0 100644 --- a/empires-client.js +++ b/empires-client.js @@ -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); }); -- 2.43.0