// Assets/Scripts/Audio/FootstepAudioConfigSO.cs // 脚步声音效配置(Architecture 21_LiquidPuzzleModule §3.3) using System; using UnityEngine; namespace BaseGames.Audio { [CreateAssetMenu(menuName = "BaseGames/Audio/FootstepAudioConfig")] public class FootstepAudioConfigSO : ScriptableObject { [Serializable] public struct MaterialEntry { public FootstepMaterial material; public AudioClip[] clips; // 随机选一个,防止重复感 [Range(0f, 1f)] public float volume; [Range(0.8f, 1.2f)] public float pitchVariance; // 每次随机 pitch 偏移范围 } public MaterialEntry[] entries; public MaterialEntry? GetEntry(FootstepMaterial mat) { if (entries == null) return null; foreach (var e in entries) if (e.material == mat) return e; return null; } } }