Ejemplo n.º 1
0
    private static float Refresh(AnimatorManager animatorManager, float timeOutTimer)
    {
        const float epsilon = 0.0001f;

        if (!Input.anyKeyDown && Math.Abs(Input.GetAxis("Mouse X")) < epsilon && Math.Abs(Input.GetAxis("Mouse Y")) < epsilon &&
            !animatorManager.GetBoolAnimator("talk"))
        {
            return(timeOutTimer);
        }
        // If the user is active but the state is still in timeout, walk back in screen.
        if (animatorManager.GetBoolAnimator("timeout"))
        {
            animatorManager.SetBoolAnimator("timeout", false);
            // Do something on activation after timeout, may be inserted later
        }
        // Allow for moving the avatar with controls instead of only with animations.
        if (!animatorManager.GetApplyRootMotionAnimator() &&
            animatorManager.GetCurrentAnimatorStateInfoAnimator(0).IsName("idle"))
        {
            animatorManager.SetApplyRootMotionAnimator(true);
        }

        return(0f);
    }
Ejemplo n.º 2
0
 /// <summary>
 /// Let the avatar walk out of the screen.
 /// </summary>
 public void WalkAway()
 {
     _animatorManager.SetApplyRootMotionAnimator(false);
     _animatorManager.PlayAnimator("OutOfScreen");
     _animatorManager.SetBoolAnimator("walk_away_toggle", true);
 }