public override void OnUpdate()
{
FixChangeAnimationBug();
if (StartUpdate == false || eventIndex.Value == -1)
{
return;
}
if (NormalizedTime != null && NormalizedTime.Length == events.Length)
{
if (NormalizedTime[eventIndex.Value].Value != 0)
{
for (int i = 0; i < Fsm.ActiveState.Actions.Length; i++)
{
if (Fsm.ActiveState.Actions[i] as AnimatorCrossFade != null)
{
AnimatorCrossFade data = Fsm.ActiveState.Actions[i] as AnimatorCrossFade;
if (_animator.GetCurrentAnimatorStateInfo(0).normalizedTime >= NormalizedTime[eventIndex.Value].Value &&
_animator.GetCurrentAnimatorStateInfo(0).IsName(data.stateName.Value))
{
Fsm.Event(events[eventIndex.Value]);
Finish();
}
return;
}
}
}
}
}