using UnityEngine.Events;
using UnityEngine.XR.Content.Animation;

namespace UnityEngine.XR.Content.Interaction
{
    public class TargetRing : MonoBehaviour, IAnimationEventActionBegin, IAnimationEventActionFinished
    {
        const string k_ActiveLabel = "active";

        [SerializeField]
        UnityEvent m_OnHit;

        [SerializeField]
        UnityEvent m_OnActive;

        [SerializeField]
        UnityEvent m_OnInactive;

        public void OnHit()
        {
            m_OnHit.Invoke();
        }

        void IAnimationEventActionBegin.ActionBegin(string label)
        {
            if (label == k_ActiveLabel)
                m_OnActive.Invoke();
        }

        void IAnimationEventActionFinished.ActionFinished(string label)
        {
            if (label == k_ActiveLabel)
                m_OnInactive.Invoke();
        }
    }
}