From: Carl Worth <cworth@cworth.org>
Date: Mon, 4 May 2020 00:42:10 +0000 (-0700)
Subject: Track removal of players (by either deregister or by capture)
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=37c17cc62597ed8c959bacf59e4a47501f56c334;p=empires-html

Track removal of players (by either deregister or by capture)

Currently the capture UI is rather spartan, (the captured name just
disappears—it doesn't appear as a capture next to the capturing
player).
---

diff --git a/empires-client.js b/empires-client.js
index 9ac3308..5f489f8 100644
--- a/empires-client.js
+++ b/empires-client.js
@@ -40,7 +40,8 @@ events.addEventListener("players", function(event) {
 
   players_element.innerHTML = '';
   for (const player of players) {
-    var li =document.createElement('li');
+    var li = document.createElement('li');
+    li.id = "player-" + player.id;
     li.innerText = player.name;
     players_element.appendChild(li);
   }
@@ -51,6 +52,23 @@ events.addEventListener("player-register", function(event) {
   const player = JSON.parse(event.data);
 
   const li = document.createElement('li');
+  li.id = "player-" + player.id;
   li.innerText = player.name;
   players.appendChild(li);
 });
+
+events.addEventListener("player-deregister", function(event) {
+  const players = document.getElementById("players");
+  const id = JSON.parse(event.data);
+  const player = document.getElementById("player-" + id.id);
+
+  players.removeChild(player);
+});
+
+events.addEventListener("capture", function(event_string) {
+  const players = document.getElementById("players");
+  const event = JSON.parse(event_string.data);
+  const player = document.getElementById("player-" + event.captee);
+
+  players.removeChild(player);
+});