2023-02-06 12:30:24 +00:00
|
|
|
function unlockMapDom() {}
|
|
|
|
|
|
|
|
function lockMapDom() {}
|
|
|
|
|
2023-01-31 12:34:13 +00:00
|
|
|
function updatePlayerDom() {
|
2023-01-29 16:47:37 +00:00
|
|
|
let list = document.querySelector("#playerList");
|
|
|
|
list.replaceChildren();
|
|
|
|
|
2023-02-02 11:27:52 +00:00
|
|
|
for (let playerId of Object.keys(players).sort()) {
|
|
|
|
let player = players[playerId];
|
|
|
|
|
|
|
|
let statusSpan = document.createElement("div");
|
|
|
|
statusSpan.classList.add("status-span");
|
2023-02-06 11:04:37 +00:00
|
|
|
if (gameState === WAITING) {
|
2023-02-02 11:27:52 +00:00
|
|
|
if (player.ready) {
|
|
|
|
statusSpan.textContent = "R";
|
|
|
|
statusSpan.classList.add("ready");
|
|
|
|
} else {
|
|
|
|
statusSpan.textContent = "N";
|
|
|
|
statusSpan.classList.add("not-ready");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (player.isPlaying) {
|
|
|
|
statusSpan.textContent = "P";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
let idSpan = document.createElement("span");
|
|
|
|
if (playerId === ID) {
|
|
|
|
idSpan.textContent = `${playerId} (you)`;
|
|
|
|
} else {
|
|
|
|
idSpan.textContent = playerId;
|
2023-01-29 16:47:37 +00:00
|
|
|
}
|
2023-02-02 11:27:52 +00:00
|
|
|
|
|
|
|
let newDom = document.createElement("li");
|
|
|
|
newDom.appendChild(statusSpan);
|
|
|
|
newDom.appendChild(idSpan);
|
|
|
|
list.appendChild(newDom);
|
2023-01-29 16:47:37 +00:00
|
|
|
}
|
|
|
|
}
|
2023-02-01 18:09:32 +00:00
|
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
|
|
document.querySelector("#ready-button").addEventListener("click", async (ev) => {
|
|
|
|
let nowReady = ev.target.textContent === "Not ready";
|
|
|
|
us.ready = nowReady;
|
|
|
|
|
|
|
|
ev.target.classList.toggle("active");
|
|
|
|
ev.target.textContent = nowReady ? "Ready" : "Not ready";
|
|
|
|
|
2023-02-02 11:27:52 +00:00
|
|
|
socket.emit("message", Packet.createSetReady(nowReady));
|
|
|
|
|
|
|
|
updatePlayerDom();
|
2023-02-01 18:09:32 +00:00
|
|
|
|
|
|
|
if (allPlayersReady()) {
|
|
|
|
await startPregame();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|