示例#1
0
    public override void DoUpdate(float dt)
    {
        //成功
        if (CharacterAnimator.AnimatorState.Success)
        {
            CharacterAnimator.SetSuccess();
            return;
        }
        //失败
        if (CharacterAnimator.AnimatorState.Failed)
        {
            CharacterAnimator.SetFailed();
            return;
        }
        CharacterAnimator.DoUpdate(dt);

        if (IsGrounded() && !NeedJump)
        {
            if (Target != null)
            {
                Agent.destination = Target.position;
            }

            var isMove = Agent.velocity.x != 0 && Agent.velocity.z != 0;
            CharacterAnimator.SetRun(isMove);

            var isIdle = Agent.velocity == Vector3.zero;
            CharacterAnimator.SetIdle(isIdle);
        }
    }