using Fie.Utility; using System.Collections.Generic; using UnityEngine; namespace Fie.Footstep { public class FieFootstepMaterial : MonoBehaviour { [SerializeField] private float _audioVolume = 0.5f; [SerializeField] private List _audioClips = new List(); [SerializeField] private Material _footStepParticleMaterial; private Lottery _lottery = new Lottery(); public List audioClips => _audioClips; private void Awake() { foreach (AudioClip audioClip in _audioClips) { _lottery.AddItem(audioClip); } } public void playFootstepAudio(FieFootstepPlayer player) { if (!(player == null) && _lottery.IsExecutable()) { AudioClip audioClip = _lottery.Lot(); if (!(audioClip == null)) { player.SetMaterial(_footStepParticleMaterial); player.audioSource.pitch = player.pitchOffset; player.audioSource.PlayOneShot(audioClip, _audioVolume); player.EmitFootstepParticle(audioClip.length); } } } } }