Files
zeling_v2/Assets/Scripts/Audio/UnderwaterAudioController.cs
2026-05-12 15:34:08 +08:00

31 lines
1.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Assets/Scripts/Audio/UnderwaterAudioController.cs
// 进入 LiquidZone 时切换水下 DSP 处理Architecture 21_LiquidPuzzleModule §3.4
using UnityEngine;
using UnityEngine.Audio;
namespace BaseGames.Audio
{
/// <summary>
/// 挂载于 PlayerController 所在 GameObject。
/// 由 LiquidZone.OnTriggerEnter2D / OnTriggerExit2D 直接调用。
/// 切换 AudioMixer Snapshot 以应用/解除水下 DSP 处理。
/// </summary>
public class UnderwaterAudioController : MonoBehaviour
{
[SerializeField] private AudioMixer _mixer;
[SerializeField] private float _transitionDuration = 0.3f;
/// <summary>玩家进入 Water 类型液体时调用。</summary>
public void EnterWater()
{
_mixer?.FindSnapshot("Underwater")?.TransitionTo(_transitionDuration);
}
/// <summary>玩家离开液体时调用。</summary>
public void ExitWater()
{
_mixer?.FindSnapshot("Default")?.TransitionTo(_transitionDuration);
}
}
}