From 38a852980897bf3133e4068086e7b15a8693ca7a Mon Sep 17 00:00:00 2001 From: Walid Mosbahi <111127040+Bretis2019@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:51:16 +0100 Subject: [PATCH] impr(commandline): preview error sound on hover (@Bretis2019) (#5769) * fix: play sound on error on hover in settings pop up menu * name --------- Co-authored-by: Miodec --- .../src/ts/commandline/lists/sound-on-error.ts | 12 ++++++++++++ frontend/src/ts/controllers/sound-controller.ts | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/frontend/src/ts/commandline/lists/sound-on-error.ts b/frontend/src/ts/commandline/lists/sound-on-error.ts index 4022e6fe5..c04f017fb 100644 --- a/frontend/src/ts/commandline/lists/sound-on-error.ts +++ b/frontend/src/ts/commandline/lists/sound-on-error.ts @@ -17,6 +17,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError1", display: "damage", configValue: "1", + hover: (): void => { + void SoundController.previewError("1"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("1"); void SoundController.playError(); @@ -26,6 +29,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError2", display: "triangle", configValue: "2", + hover: (): void => { + void SoundController.previewError("2"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("2"); void SoundController.playError(); @@ -35,6 +41,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError3", display: "square", configValue: "3", + hover: (): void => { + void SoundController.previewError("3"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("3"); void SoundController.playError(); @@ -44,6 +53,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError3", display: "punch miss", configValue: "4", + hover: (): void => { + void SoundController.previewError("4"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("4"); void SoundController.playError(); diff --git a/frontend/src/ts/controllers/sound-controller.ts b/frontend/src/ts/controllers/sound-controller.ts index 04a08777f..8ac913893 100644 --- a/frontend/src/ts/controllers/sound-controller.ts +++ b/frontend/src/ts/controllers/sound-controller.ts @@ -404,6 +404,20 @@ export async function previewClick(val: string): Promise { safeClickSounds[val][0].sounds[0].play(); } +export async function previewError(val: string): Promise { + if (errorSounds === null) await initErrorSound(); + + const safeErrorSounds = errorSounds as ErrorSounds; + + const errorSoundIds = Object.keys(safeErrorSounds); + if (!errorSoundIds.includes(val)) return; + + //@ts-expect-error + errorClickSounds[val][0].sounds[0].seek(0); + //@ts-expect-error + errorClickSounds[val][0].sounds[0].play(); +} + let currentCode = "KeyA"; $(document).on("keydown", (event) => {