diff options
| author | stonedDiscord <Tukz@gmx.de> | 2022-08-31 20:31:54 +0200 |
|---|---|---|
| committer | stonedDiscord <Tukz@gmx.de> | 2022-08-31 20:31:54 +0200 |
| commit | d124c7466ec13dc0353edeb5fab49f03f3035b5e (patch) | |
| tree | 8f278b39e51fa5d3b738bd2d47c6f3b1d123ca9c /webAO/packets/handlers/handleBN.ts | |
| parent | 1847fcf939c4a079b2f016df212e2b6c832aa2e5 (diff) | |
| parent | da992f9b3623955ef777c343a9f2c7b81d8ca942 (diff) | |
Merge branch 'master' of https://github.com/AttorneyOnline/webAO
Diffstat (limited to 'webAO/packets/handlers/handleBN.ts')
| -rw-r--r-- | webAO/packets/handlers/handleBN.ts | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleBN.ts b/webAO/packets/handlers/handleBN.ts new file mode 100644 index 0000000..3cd3c5a --- /dev/null +++ b/webAO/packets/handlers/handleBN.ts @@ -0,0 +1,81 @@ +import { AO_HOST, client, getIndexFromSelect, updateBackgroundPreview } from "../../client"; +import { safeTags } from "../../encoding"; +import tryUrls from "../../utils/tryUrls"; + + + /** + * Handles a background change. + * @param {Array} args packet arguments + */ + +export const handleBN = (args: string[]) => { + const bgFromArgs = safeTags(args[1]); + client.viewport.setBackgroundName(bgFromArgs); + const bgfolder = client.viewport.getBackgroundFolder(); + const bg_index = getIndexFromSelect( + "bg_select", + client.viewport.getBackgroundName() + ); + (<HTMLSelectElement>document.getElementById("bg_select")).selectedIndex = + bg_index; + updateBackgroundPreview(); + if (bg_index === 0) { + (<HTMLInputElement>document.getElementById("bg_filename")).value = + client.viewport.getBackgroundName(); + } + + tryUrls( + `${AO_HOST}background/${encodeURI(args[1].toLowerCase())}/defenseempty` + ).then((resp) => { + (<HTMLImageElement>document.getElementById("bg_preview")).src = resp; + }); + tryUrls(`${bgfolder}defensedesk`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_def_bench")).src = + resp; + }); + tryUrls(`${bgfolder}stand`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_wit_bench")).src = + resp; + }); + tryUrls(`${bgfolder}prosecutiondesk`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_pro_bench")).src = + resp; + }); + tryUrls(`${bgfolder}full`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court")).src = resp; + }); + tryUrls(`${bgfolder}defenseempty`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court_def")).src = + resp; + }); + tryUrls(`${bgfolder}transition_def`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court_deft")).src = + resp; + }); + tryUrls(`${bgfolder}witnessempty`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court_wit")).src = + resp; + }); + tryUrls(`${bgfolder}transition_pro`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court_prot")).src = + resp; + }); + tryUrls(`${bgfolder}prosecutorempty`).then((resp) => { + (<HTMLImageElement>document.getElementById("client_court_pro")).src = + resp; + }); + + if (client.charID === -1) { + client.viewport.set_side({ + position: "jud", + showSpeedLines: false, + showDesk: true, + }); + } else { + client.viewport.set_side({ + position: client.chars[client.charID].side, + showSpeedLines: false, + showDesk: true, + }); + } + }
\ No newline at end of file |
