diff options
| author | stonedDiscord <Tukz@gmx.de> | 2022-08-30 23:19:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-30 23:19:43 +0200 |
| commit | b4185a9d62e5477a675625c907f159862725c1dc (patch) | |
| tree | c87e2f153eb92a633809f0c32a9ce18a6922ce0f /webAO/packets/handlers/handleSC.ts | |
| parent | cced5e71d9004eaf34156935d214eac82204ab4b (diff) | |
| parent | c54b4545f663dc2ef4d62626360419a32ecf1f60 (diff) | |
Merge pull request #156 from caleb-mabry/another-three
Another three
Diffstat (limited to 'webAO/packets/handlers/handleSC.ts')
| -rw-r--r-- | webAO/packets/handlers/handleSC.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleSC.ts b/webAO/packets/handlers/handleSC.ts new file mode 100644 index 0000000..3689a17 --- /dev/null +++ b/webAO/packets/handlers/handleSC.ts @@ -0,0 +1,37 @@ +import queryParser from "../../utils/queryParser"; + +import { client } from '../../client' +let { mode } = queryParser(); + +/** + * Handles incoming character information, containing all characters + * in one packet. + * @param {Array} args packet arguments + */ +export const handleSC = async (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}/${client.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 + client.handleCharacterInfo(chargs, charid); + } + // We're done with the characters, request the music + client.sendServer("RM#%"); +}
\ No newline at end of file |
