У меня есть скрипт, прикрепленный к моему состоянию анимации, как показано ниже:

Сценарий выглядит следующим образом:
using UnityEngine;
public class TrackHelpDuration : StateMachineBehaviour
{
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("entering state");
if (GameSession.timeSpentOnRemedialHint > 0)
GameSession.updateTime(11);
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("exiting state");
if (GameSession.timeSpentOnRemedialHint > 0)
GameSession.updateTime(11);
}
}
Пока OnStateEnter
работает как положено, OnStateExit
никогда не вызывается. Как мне заставить это работать?
Я нашел проблему, которая говорит о том же, но это было 3 года назад.
https://issuetracker.unity3d.com/issues/mecanim-onstateexit-method-never-gets-called-when-next-state-becomes-active