// Animancer // https://kybernetik.com.au/animancer // Copyright 2022 Kybernetik // #pragma warning disable CS0649 // Field is never assigned to, and will always have its default value. using UnityEngine; namespace Animancer.Examples.Events { /// Uses Animancer Events to play a sound randomly selected from an array. /// Footstep Events /// https://kybernetik.com.au/animancer/api/Animancer.Examples.Events/FootstepEvents /// [AddComponentMenu(Strings.ExamplesMenuPrefix + "Footstep Events - Footstep Events")] [HelpURL(Strings.DocsURLs.ExampleAPIDocumentation + nameof(Events) + "/" + nameof(FootstepEvents))] public sealed class FootstepEvents : MonoBehaviour { /************************************************************************************************************************/ [SerializeField] private AnimancerComponent _Animancer; [SerializeField] private ClipTransition _Walk; [SerializeField] private AudioClip[] _Sounds; /************************************************************************************************************************/ private void OnEnable() { _Animancer.Play(_Walk); } /************************************************************************************************************************/ // Called by Animancer Events. public void PlaySound(AudioSource source) { source.clip = _Sounds[Random.Range(0, _Sounds.Length)]; source.Play(); } /************************************************************************************************************************/ } }