aboutsummaryrefslogtreecommitdiff
path: root/webAO/client
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/client')
-rw-r--r--webAO/client/createArea.ts25
-rw-r--r--webAO/client/fixLastArea.ts4
-rw-r--r--webAO/client/sender/sendCharacter.ts2
3 files changed, 24 insertions, 7 deletions
diff --git a/webAO/client/createArea.ts b/webAO/client/createArea.ts
index dfc57e8..9a40bef 100644
--- a/webAO/client/createArea.ts
+++ b/webAO/client/createArea.ts
@@ -1,15 +1,32 @@
import { client } from "../client";
-import { renderAreaList } from "../dom/renderAreaList";
+import { area_click } from "../dom/areaClick";
import { safeTags } from "../encoding";
export const createArea = (id: number, aname: string) => {
const name = safeTags(aname);
- client.areas.push({
+ const thisarea = {
name,
players: 0,
status: "IDLE",
cm: "",
locked: "FREE",
- });
- renderAreaList();
+ };
+
+ client.areas.push(thisarea);
+
+ // Create area button
+ const newarea = document.createElement("SPAN");
+ newarea.className = "area-button area-default";
+ newarea.id = `area${id}`;
+ newarea.innerText = thisarea.name;
+ newarea.title =
+ `Players: ${thisarea.players}\n` +
+ `Status: ${thisarea.status}\n` +
+ `CM: ${thisarea.cm}\n` +
+ `Area lock: ${thisarea.locked}`;
+ newarea.onclick = function () {
+ area_click(newarea);
+ };
+
+ document.getElementById("areas")!.appendChild(newarea);
};
diff --git a/webAO/client/fixLastArea.ts b/webAO/client/fixLastArea.ts
index 839b14c..a9979da 100644
--- a/webAO/client/fixLastArea.ts
+++ b/webAO/client/fixLastArea.ts
@@ -1,5 +1,4 @@
import { client } from "../client";
-import { renderAreaList } from "../dom/renderAreaList";
import { addTrack } from "./addTrack";
/**
@@ -8,7 +7,8 @@ import { addTrack } from "./addTrack";
export const fix_last_area = () => {
if (client.areas.length > 0) {
const malplaced = client.areas.pop().name;
- renderAreaList();
+ const areas = document.getElementById("areas")!;
+ areas.removeChild(areas.lastChild);
addTrack(malplaced);
}
};
diff --git a/webAO/client/sender/sendCharacter.ts b/webAO/client/sender/sendCharacter.ts
index eed6a99..2db4dcd 100644
--- a/webAO/client/sender/sendCharacter.ts
+++ b/webAO/client/sender/sendCharacter.ts
@@ -5,7 +5,7 @@ import { client } from "../../client";
* @param {number} character the character ID
*/
export const sendCharacter = (character: number) => {
- if (character === -1 || (client.chars[character] && client.chars[character].name)) {
+ if (character === -1 || client.chars[character].name) {
client.sender.sendServer(`CC#${client.playerID}#${character}#web#%`);
}
};