public void SetAnim(SoliderAnimState soliderState) { ReSetPlayerState(); if (soliderState == _lastState) { return; } _lastState = soliderState; ReSetAnim(); switch (soliderState) { case SoliderAnimState.Walk: _animator.SetBool("isWalk", true); break; case SoliderAnimState.Attack: _animator.SetBool("isAttack", true); break; case SoliderAnimState.Dead: _animator.SetBool("isDie", true); break; } }
public void ReSetPlayerState() { switch (_lastState) { case SoliderAnimState.Attack: case SoliderAnimState.Dead: //假设动画已经播放完成 if (_animator.GetCurrentAnimatorStateInfo(0).normalizedTime > 0.99f) { _animator.Update(0); _soliderAnimState = SoliderAnimState.Null; } break; } }