aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Mabry <36182383+caleb-mabry@users.noreply.github.com>2022-07-17 20:23:38 -0400
committerCaleb Mabry <36182383+caleb-mabry@users.noreply.github.com>2022-07-17 20:23:38 -0400
commit0a5641f1c437993cf49958a77831056792b0c872 (patch)
tree12201d53a0a21ff22f469c53786d6a942e49969b
parent03aa72eda907a1586baf3664a0be71191d898b9b (diff)
Updating to use getters and setters
-rw-r--r--webAO/client.ts21
-rw-r--r--webAO/viewport.ts30
2 files changed, 31 insertions, 20 deletions
diff --git a/webAO/client.ts b/webAO/client.ts
index 18b173c..569b0e8 100644
--- a/webAO/client.ts
+++ b/webAO/client.ts
@@ -1515,15 +1515,16 @@ class Client extends EventEmitter {
*/
handleBN(args: string[]) {
- this.viewport.bgname = safeTags(args[1]);
- const bgfolder = this.viewport.bgFolder;
- const bg_index = getIndexFromSelect("bg_select", this.viewport.bgname);
+ const bgFromArgs = safeTags(args[1]);
+ this.viewport.changeBgName(bgFromArgs);
+ const bgfolder = this.viewport.bgFolder();
+ const bg_index = getIndexFromSelect("bg_select", this.viewport.bgName());
(<HTMLSelectElement>document.getElementById("bg_select")).selectedIndex =
bg_index;
updateBackgroundPreview();
if (bg_index === 0) {
(<HTMLInputElement>document.getElementById("bg_filename")).value =
- this.viewport.bgname;
+ this.viewport.bgName();
}
tryUrls(
@@ -1659,12 +1660,12 @@ class Client extends EventEmitter {
oocLog.scrollTop = oocLog.scrollHeight;
}
- this.viewport.sfxaudio.pause();
- const oldvolume = this.viewport.sfxaudio.volume;
- this.viewport.sfxaudio.volume = 1;
- this.viewport.sfxaudio.src = `${AO_HOST}sounds/general/sfx-gallery.opus`;
- this.viewport.sfxaudio.play();
- this.viewport.sfxaudio.volume = oldvolume;
+ this.viewport.sfxAudio().pause();
+ const oldvolume = this.viewport.sfxAudio().volume;
+ this.viewport.sfxAudio().volume = 1;
+ this.viewport.sfxAudio().src = `${AO_HOST}sounds/general/sfx-gallery.opus`;
+ this.viewport.sfxAudio().play();
+ this.viewport.sfxAudio().volume = oldvolume;
}
/**
diff --git a/webAO/viewport.ts b/webAO/viewport.ts
index 61fdc4d..e908ff1 100644
--- a/webAO/viewport.ts
+++ b/webAO/viewport.ts
@@ -64,12 +64,13 @@ export interface Viewport {
handleTextTick: Function;
theme: string;
chatmsg: ChatMsg;
- sfxaudio: HTMLAudioElement;
+ sfxAudio: Function;
blipChannels: HTMLAudioElement[];
music: any;
musicVolume: number;
- bgFolder: string;
- bgname: string;
+ changeBgName: Function;
+ bgFolder: Function;
+ bgName: Function;
lastChar: string;
}
const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
@@ -137,7 +138,7 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
let musicVolume = 0;
let updater: any;
let testimonyUpdater: any;
- let bgname = "gs4";
+ let viewportBgName = "";
let lastChar = "";
let lastEvi = 0;
let testimonyTimer = 0;
@@ -148,7 +149,11 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
let startSecondTickCheck: boolean;
let startThirdTickCheck: boolean;
let theme: string;
- const bgFolder = `${AO_HOST}background/${encodeURI(bgname.toLowerCase())}/`;
+ const sfxAudio = () => sfxaudio;
+ const bgName = () => viewportBgName;
+ const changeBgName = (bgName: string) => (viewportBgName = bgName);
+ const bgFolder = () =>
+ `${AO_HOST}background/${encodeURI(viewportBgName.toLowerCase())}/`;
/**
* Sets the volume of the music.
* @param {number} volume
@@ -286,14 +291,14 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
if (showSpeedLines === true) {
court.src = `${AO_HOST}themes/default/${encodeURI(speedLines)}`;
} else {
- court.src = await tryUrls(bgFolder + bg);
+ court.src = await tryUrls(bgFolder() + bg);
}
if (showDesk === true && desk) {
- const deskFilename = (await fileExists(bgFolder + desk.ao2))
+ const deskFilename = (await fileExists(bgFolder() + desk.ao2))
? desk.ao2
: desk.ao1;
- bench.src = bgFolder + deskFilename;
+ bench.src = bgFolder() + deskFilename;
bench.style.opacity = "1";
} else {
bench.style.opacity = "0";
@@ -396,6 +401,8 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
*/
const handle_ic_speaking = async (playerChatMsg: ChatMsg) => {
chatmsg = playerChatMsg;
+ client.viewport.chatmsg = playerChatMsg;
+
textnow = "";
sfxplayed = 0;
tickTimer = 0;
@@ -451,7 +458,9 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
charLayers.style.opacity = "0";
pairLayers.style.opacity = "0";
}
+
lastChar = chatmsg.name;
+ client.viewport.lastChar = chatmsg.name;
appendICLog(chatmsg.content, chatmsg.showname, chatmsg.nameplate);
@@ -1024,6 +1033,7 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
reloadTheme,
playSFX,
set_side,
+ changeBgName,
initTestimonyUpdater,
updateTestimony,
disposeTestimony,
@@ -1031,13 +1041,13 @@ const viewport = (masterClient: Client, AO_HOST: string): Viewport => {
handleTextTick,
theme,
chatmsg,
- sfxaudio,
+ sfxAudio,
blipChannels,
lastChar,
music,
musicVolume,
bgFolder,
- bgname,
+ bgName,
};
};