From a46b450ef0d4d675d6051034be544ac9931b3f0b Mon Sep 17 00:00:00 2001 From: Oliver Wong Date: Fri, 22 May 2026 20:40:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=9F=B3=E6=95=88=E3=80=81=E9=9F=B3?= =?UTF-8?q?=E9=87=8F=E3=80=81=E8=A7=A6=E6=84=9F=E5=BC=80=E5=85=B3=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Audios/Master.mixer | 7 +++++++ .../OCES/Audio/HandWritten/AudioSystem.cs | 21 +++++++++++++++++++ .../OCES/Haptic/Handwritten/HapticSystem.cs | 5 +++++ 3 files changed, 33 insertions(+) diff --git a/Assets/Resources/Audios/Master.mixer b/Assets/Resources/Audios/Master.mixer index f160e6f..f75712c 100644 --- a/Assets/Resources/Audios/Master.mixer +++ b/Assets/Resources/Audios/Master.mixer @@ -249,8 +249,14 @@ AudioMixerController: m_EnableSuspend: 1 m_UpdateMode: 0 m_ExposedParameters: + - guid: d66e5a701962f484baca61ea5f29bab9 + name: MusicVolume - guid: 9b4461d5598de4602b001fc9d34f76a7 name: LowpassFreq + - guid: f9b2498f18d9c4346b50d00374df58fc + name: SFXVolume + - guid: 15cd4cd29b1a64dacb39ca2eda4de378 + name: SFXAccentVolume m_AudioMixerGroupViews: - guids: - 3ef0a681afabf403eae42ddfe3bed37e @@ -319,6 +325,7 @@ AudioMixerSnapshotController: 676d0e59581a446dfb975928b4b3a4ea: 22000 0053647b950eb4d8abf883dc07d6b4ef: 1 47b8a12e60a1c4cf18d0d0c28f12866d: 440 + f9b2498f18d9c4346b50d00374df58fc: 0 c31161cf8dc3a48478fe71156b990b48: 1333 d171c8cff3d664001b51b62c1b77ab53: 0 m_TransitionOverrides: {} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs index 7339378..ceee6a1 100644 --- a/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs @@ -127,6 +127,27 @@ namespace OCES.Audio ).SetEase(Ease.OutCubic); } + public void SetMusicVolume(float targetVolume) + { + this.m_mixer.SetFloat("MusicVolume", targetVolume); + } + + public void SetSFXVolume(float targetVolume) + { + this.m_mixer.SetFloat("SFXVolume", targetVolume); + this.m_mixer.SetFloat("SFXAccentVolume", targetVolume); + } + + public void SetMusicState(bool enable) + { + SetMusicVolume(enable ? 0 : -80); + } + + public void SetSFXState(bool enable) + { + SetSFXVolume(enable ? 0 : -80); + } + /// /// 更新游戏状态,驱动音乐与环境音系统切换。 /// 调用示例:AudioSystem.Instance.SetState(GameState.Game); diff --git a/Assets/Scripts/OCES/Haptic/Handwritten/HapticSystem.cs b/Assets/Scripts/OCES/Haptic/Handwritten/HapticSystem.cs index 7a3c1ef..e0eaed7 100644 --- a/Assets/Scripts/OCES/Haptic/Handwritten/HapticSystem.cs +++ b/Assets/Scripts/OCES/Haptic/Handwritten/HapticSystem.cs @@ -104,6 +104,11 @@ namespace OCES.Haptic { HapticController.Stop(); } + + public void EnableHaptic(bool enable) + { + HapticController.hapticsEnabled = enable; + } void Awake() {