From a276096476213c6a2331ea4ff04e445b240c08f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerard=20Gasc=C3=B3n?= <52170489+GerardGascon@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:56:25 +0200 Subject: [PATCH] feat: added select/deselect sfx --- Assets/Scenes/Main.unity | 14 ++++++++++++++ Assets/Scripts/View/UI/SettingsMenu.cs | 22 ++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 9333eb5..c0cbbfa 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -611,6 +611,20 @@ MonoBehaviour: musicToggle: {fileID: 557112855} sfxToggle: {fileID: 1000034091} alwaysOnTopToggle: {fileID: 2076377159} + selectSound: + Guid: + Data1: -1649360020 + Data2: 1242044891 + Data3: -1143008872 + Data4: 1904821661 + Path: event:/SFX_select + deselectSound: + Guid: + Data1: 927500576 + Data2: 1297093792 + Data3: -1073879417 + Data4: 659817285 + Path: event:/SFX_back --- !u!1 &379057220 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/View/UI/SettingsMenu.cs b/Assets/Scripts/View/UI/SettingsMenu.cs index 815dd49..98275b3 100644 --- a/Assets/Scripts/View/UI/SettingsMenu.cs +++ b/Assets/Scripts/View/UI/SettingsMenu.cs @@ -25,6 +25,10 @@ namespace View.UI { [SerializeField] private Toggle sfxToggle; [SerializeField] private Toggle alwaysOnTopToggle; + [Space] + [SerializeField] private EventReference selectSound; + [SerializeField] private EventReference deselectSound; + private Bus _musicBus; private Bus _sfxBus; @@ -41,13 +45,25 @@ namespace View.UI { } private void AlwaysOnTopStateChange(bool state) { + PlayToggleSound(state); AppWindowUtility.AlwaysOnTop = state; } - private void SFXStateChange(bool state) => _sfxBus.setMute(!state); - private void MusicStateChange(bool state) => _musicBus.setMute(!state); + private void SFXStateChange(bool state) { + PlayToggleSound(state); + _sfxBus.setMute(!state); + } + + private void MusicStateChange(bool state) { + PlayToggleSound(state); + _musicBus.setMute(!state); + } + + private void PlayToggleSound(bool state) => RuntimeManager.PlayOneShot(state ? selectSound : deselectSound); private void OpenSettings() { + PlayToggleSound(true); + mainUIGroup.interactable = mainUIGroup.blocksRaycasts = false; mainUIGroup.DOFade(0f, transitionDuration); @@ -56,6 +72,8 @@ namespace View.UI { } private void CloseSettings() { + PlayToggleSound(false); + settingsUIGroup.interactable = settingsUIGroup.blocksRaycasts = false; settingsUIGroup.DOFade(0f, transitionDuration);