aboutsummaryrefslogtreecommitdiff
path: root/webAO/viewport/utils/initTestimonyUpdater.ts
diff options
context:
space:
mode:
authorCaleb <caleb.mabry.15@cnu.edu>2022-09-11 16:31:04 -0400
committerCaleb <caleb.mabry.15@cnu.edu>2022-09-11 16:31:04 -0400
commitf8e8ab1b0d0edcddc55f57df76ee81fa14a1e5e8 (patch)
treeba07f3fb1ce186999a356edf074c89e3a28a4108 /webAO/viewport/utils/initTestimonyUpdater.ts
parent3bc1d8ca5bc74f40d96c9f4edf7f5b1adee188a4 (diff)
Finishing of refactor
Diffstat (limited to 'webAO/viewport/utils/initTestimonyUpdater.ts')
-rw-r--r--webAO/viewport/utils/initTestimonyUpdater.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/webAO/viewport/utils/initTestimonyUpdater.ts b/webAO/viewport/utils/initTestimonyUpdater.ts
new file mode 100644
index 0000000..e6f6e9d
--- /dev/null
+++ b/webAO/viewport/utils/initTestimonyUpdater.ts
@@ -0,0 +1,31 @@
+import { Testimony } from '../interfaces/Testimony'
+import { client, UPDATE_INTERVAL } from '../../client'
+/**
+ * Intialize testimony updater
+ */
+export const initTestimonyUpdater = () => {
+ const testimonyFilenames: Testimony = {
+ 1: "witnesstestimony",
+ 2: "crossexamination",
+ 3: "notguilty",
+ 4: "guilty",
+ };
+
+ const testimony = testimonyFilenames[client.testimonyID];
+ if (!testimony) {
+ console.warn(`Invalid testimony ID ${client.testimonyID}`);
+ return;
+ }
+
+ client.viewport.testimonyAudio.src = client.resources[testimony].sfx;
+ client.viewport.testimonyAudio.play();
+
+ const testimonyOverlay = <HTMLImageElement>(
+ document.getElementById("client_testimony")
+ );
+ testimonyOverlay.src = client.resources[testimony].src;
+ testimonyOverlay.style.opacity = "1";
+
+ client.viewport.setTestimonyTimer(0);
+ client.viewport.setTestimonyUpdater(setTimeout(() => client.viewport.updateTestimony(), UPDATE_INTERVAL));
+}; \ No newline at end of file