using Scampz.GameJam.Assets.Scripts; using UnityEngine; namespace Scampz.GameJam { [RequireComponent(typeof(AudioSource))] public class Footsteps : MonoBehaviour { [SerializeField] private SFXClip grassStep; [SerializeField] private SFXClip templeStep; [SerializeField] private SFXClip sandStep; [SerializeField] private AudioSource audioSource; public void Step() { var soundEffect = GetAudioClip(); Debug.Log("Step SFX " + soundEffect.audioClip.name); audioSource.pitch = Random.Range(soundEffect.pitchMin, soundEffect.pitchMax); audioSource.volume = Random.Range(soundEffect.volumeMin, soundEffect.volumeMax); audioSource.clip = soundEffect.audioClip; audioSource.PlayOneShot(soundEffect.audioClip); } private SFXClip GetAudioClip() { var terrainType = TerrainTypeFinder.Find(); switch (terrainType) { case TerrainType.Grass: return grassStep; case TerrainType.Temple: return templeStep; case TerrainType.Sand: return sandStep; } return templeStep; } } [System.Serializable] public struct SFXClip { public AudioClip audioClip; public float pitchMin; public float pitchMax; public float volumeMin; public float volumeMax; } }