aboutsummaryrefslogtreecommitdiff
path: root/webAO/client.ts
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2022-08-30 23:19:43 +0200
committerGitHub <noreply@github.com>2022-08-30 23:19:43 +0200
commitb4185a9d62e5477a675625c907f159862725c1dc (patch)
treec87e2f153eb92a633809f0c32a9ce18a6922ce0f /webAO/client.ts
parentcced5e71d9004eaf34156935d214eac82204ab4b (diff)
parentc54b4545f663dc2ef4d62626360419a32ecf1f60 (diff)
Merge pull request #156 from caleb-mabry/another-three
Another three
Diffstat (limited to 'webAO/client.ts')
-rw-r--r--webAO/client.ts90
1 files changed, 6 insertions, 84 deletions
diff --git a/webAO/client.ts b/webAO/client.ts
index 676aa3f..4a1f3f3 100644
--- a/webAO/client.ts
+++ b/webAO/client.ts
@@ -16,6 +16,9 @@ import vanilla_evidence_arr from "./constants/evidence.js";
import { handleCT } from './packets/handlers/handleCT'
import { handleMC } from './packets/handlers/handleMC'
import { handleRMC } from './packets/handlers/handleRMC'
+import {handleEI} from './packets/handlers/handleEI'
+import {handleSC} from './packets/handlers/handleSC'
+import {handleCI} from './packets/handlers/handleCI'
import chatbox_arr from "./styles/chatbox/chatboxes.js";
import iniParse from "./iniParse";
import getCookie from "./utils/getCookie";
@@ -218,9 +221,9 @@ class Client extends EventEmitter {
this.on("CT", handleCT);
this.on("MC", handleMC);
this.on("RMC", handleRMC);
- this.on("CI", this.handleCI.bind(this));
- this.on("SC", this.handleSC.bind(this));
- this.on("EI", this.handleEI.bind(this));
+ this.on("CI", handleCI);
+ this.on("SC", handleSC);
+ this.on("EI", handleEI);
this.on("FL", this.handleFL.bind(this));
this.on("LE", this.handleLE.bind(this));
this.on("EM", this.handleEM.bind(this));
@@ -845,91 +848,10 @@ class Client extends EventEmitter {
}
}
- /**
- * Handles incoming character information, bundling multiple characters
- * per packet.
- * CI#0#Phoenix&description&&&&&#1#Miles ...
- * @param {Array} args packet arguments
- */
- handleCI(args: string[]) {
- // Loop through the 10 characters that were sent
- for (let i = 2; i <= args.length - 2; i++) {
- if (i % 2 === 0) {
- document.getElementById(
- "client_loadingtext"
- ).innerHTML = `Loading Character ${args[1]}/${this.char_list_length}`;
- const chargs = args[i].split("&");
- const charid = Number(args[i - 1]);
- (<HTMLProgressElement>(
- document.getElementById("client_loadingbar")
- )).value = charid;
- setTimeout(() => this.handleCharacterInfo(chargs, charid), 500);
- }
- }
- // Request the next pack
- this.sendServer(`AN#${Number(args[1]) / 10 + 1}#%`);
- }
- /**
- * Handles incoming character information, containing all characters
- * in one packet.
- * @param {Array} args packet arguments
- */
- async handleSC(args: string[]) {
- const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
- if (mode === "watch") {
- // Spectators don't need to pick a character
- document.getElementById("client_charselect").style.display = "none";
- } else {
- document.getElementById("client_charselect").style.display = "block";
- }
- document.getElementById("client_loadingtext").innerHTML =
- "Loading Characters";
- for (let i = 1; i < args.length - 1; i++) {
- document.getElementById(
- "client_loadingtext"
- ).innerHTML = `Loading Character ${i}/${this.char_list_length}`;
- const chargs = args[i].split("&");
- const charid = i - 1;
- (<HTMLProgressElement>(
- document.getElementById("client_loadingbar")
- )).value = charid;
- await sleep(0.1); // TODO: Too many network calls without this. net::ERR_INSUFFICIENT_RESOURCES
- this.handleCharacterInfo(chargs, charid);
- }
- // We're done with the characters, request the music
- this.sendServer("RM#%");
- }
-
- /**
- * Handles incoming evidence information, containing only one evidence
- * item per packet.
- *
- * EI#id#name&description&type&image&##%
- *
- * @param {Array} args packet arguments
- */
- handleEI(args: string[]) {
- document.getElementById(
- "client_loadingtext"
- ).innerHTML = `Loading Evidence ${args[1]}/${this.evidence_list_length}`;
- const evidenceID = Number(args[1]);
- (<HTMLProgressElement>document.getElementById("client_loadingbar")).value =
- this.char_list_length + evidenceID;
-
- const arg = args[2].split("&");
- this.evidences[evidenceID] = {
- name: prepChat(arg[0]),
- desc: prepChat(arg[1]),
- filename: safeTags(arg[3]),
- icon: `${AO_HOST}evidence/${encodeURI(arg[3].toLowerCase())}`,
- };
-
- this.sendServer("AE" + (evidenceID + 1) + "#%");
- }
/**
* Handles incoming evidence list, all evidences at once