// 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
{
///
/// A variation of the base which responds to Animation Events called "Footstep" by
/// playing a sound randomly selected from an array, using the Int Parameter of the event as the index to determine
/// which foot to play the sound on. 0 is the Left Foot and 1 is the Right Foot.
///
/// Footstep Events
/// https://kybernetik.com.au/animancer/api/Animancer.Examples.Events/FootstepEventsAnimation
///
[AddComponentMenu(Strings.ExamplesMenuPrefix + "Footstep Events - Footstep Events Animation")]
[HelpURL(Strings.DocsURLs.ExampleAPIDocumentation + nameof(Events) + "/" + nameof(FootstepEventsAnimation))]
public sealed class FootstepEventsAnimation : MonoBehaviour
{
/************************************************************************************************************************/
[SerializeField] private FootstepEvents _FootstepEvents;
[SerializeField] private AudioSource[] _FootSources;
/************************************************************************************************************************/
// Called by Animation Events.
private void Footstep(int foot)
{
_FootstepEvents.PlaySound(_FootSources[foot]);
}
/************************************************************************************************************************/
}
}