Форумчане
Использую OnStateExit на некоторых state-ах и всегда думал что данное событие сработает только когда
1) закончится анимация на стейте к которому прикреплен данный скрипт и
2)происходит анимация именно на этом стейте
Оказалось что он также срабатывает если на другом слое в момент проигрывания анимации на нашем стейте произойдет окончание какогото другого стейта.
И вот я не могу понять как определить, что закончился именно тот стейт к кторому был прикреплен скрипт с OnStateExit.
OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
stateInfo и layerIndex - всегда ссылаются на тот стейт к которому прикреплен скрипт.
Единственное решение которое я нашел это использовать :
var currentBaseState = animator.GetCurrentAnimatorStateInfo(layerIndex);
и проверять есть ли он или нет
Отключив все анимации я понял, ничего не понял
OnStateExit почему-то в любом случае срабатывает 2 раза - гдето чуть раньше середины анимации и собственно в конце анимации
Ничего не понимаю!