Riskless/static/js/index.js
jude 39c31e0f90 Announce player joins
Clients announce on join and maintain a list of known players
2022-12-29 14:36:55 +00:00

34 lines
949 B
JavaScript

const ID = window.crypto.randomUUID();
let players = {};
document.addEventListener("DOMContentLoaded", () => {
let socket = io();
socket.on("connect", () => {
console.log("Connected!");
socket.emit("message", { type: "ANNOUNCE", author: ID, name: "" });
players[ID] = { name: "" };
});
socket.on("message", (data) => {
// Ignore any messages that originate from us.
if (data.author !== ID) {
switch (data.type) {
case "ANNOUNCE":
playerConnected(socket, data);
break;
}
}
});
});
function playerConnected(socket, data) {
// When a new player is seen, all announce to ensure they know all players.
if (players[data.author] === undefined) {
players[data.author] = { name: data.name };
socket.emit("message", { type: "ANNOUNCE", author: ID, name: "" });
} else {
}
}