Ejemplo n.º 1
0
        public void Walk(Vector2 walk)
        {
            if (walk == Vector2.zero || PauseAnimation)
            {
                _playerAnimator.SetFloat(_speedTrigger, 0.0f);
            }
            else
            {
                _playerAnimator.SetFloat(_speedTrigger, 1.0f);
            }

            PlayerControls.Direction direction = _direction;
            if (walk != Vector2.zero)
            {
                float absX = Mathf.Abs(walk.x);
                float absY = Mathf.Abs(walk.y);

                if (absX > absY)
                {
                    if (walk.x < 0)
                    {
                        direction = PlayerControls.Direction.Left;
                    }
                    else if (walk.x > 0)
                    {
                        direction = PlayerControls.Direction.Right;
                    }
                }
                else
                {
                    if (walk.y > 0)
                    {
                        direction = PlayerControls.Direction.Up;
                    }
                    else
                    {
                        direction = PlayerControls.Direction.Down;
                    }
                }
            }

            if (direction != _direction)
            {
                _direction = direction;
                _setDirection(_direction);
            }
        }
Ejemplo n.º 2
0
 public void _setDirection(PlayerControls.Direction direction)
 {
     _playerAnimator.SetInteger(_directionTrigger, (int)direction);
 }