public class AnimEventDispatcher : MonoBehaviour
{
public Action<int, float> OnEnterEvent;
public Action<int, float> OnUpdateEvent;
public Action<int, float> OnExitEvent;
public void OnEnterChannel(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
OnEnterEvent?.Invoke(stateInfo.shortNameHash, stateInfo.normalizedTime);
}
public void OnUpdateChannel(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
OnUpdateEvent?.Invoke(stateInfo.shortNameHash, stateInfo.normalizedTime);
}
public void OnExitChannel(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
OnExitEvent?.Invoke(stateInfo.shortNameHash, stateInfo.normalizedTime);
}
}