Есть функция переключения состояния персонажа. Хочу чтоб переключение происходило только после завершения анимации. Сделал корутину, но не работает( Помогите пожалуйста .
public void Change_status(Status _status)
{
StartCoroutine(WaitForAnimation("SwordHit"));
status = _status;
if (_status == Status.Attack)
{
if (anim.GetBool(walkAnimName))
{
anim.SetBool(walkAnimName, false);
anim.SetBool("isAttacking", true);
}
}
else if (_status == Status.Walk)
{
if (!anim.GetBool(walkAnimName))
{
anim.SetBool(walkAnimName, true);
anim.SetBool("isAttacking", false);
}
}
else if (_status == Status.Idle)
{
if (!anim.GetBool(walkAnimName))
{
anim.SetBool(walkAnimName, false);
}
}
}
private IEnumerator WaitForAnimation(string _name)
{
while (anim.GetCurrentAnimatorStateInfo(0).IsName(_name))
{
yield return null;
}
}