private Vector2 GetDirectionFromMovement(PlayerInputControl.InputState input) { if (Attacking()) { return(lastDirection); } // prevent player from turning when attacking // Only return a new direction if it's the only direction being held if (input.IsOnlyUpHeld()) { return(Vector2.up); } else if (input.IsOnlyDownHeld()) { return(Vector2.down); } else if (input.IsOnlyLeftHeld()) { return(Vector2.left); } else if (input.IsOnlyRightHeld()) { return(Vector2.right); } return(lastDirection); }
public void Move(Vector2 movement, PlayerInputControl.InputState input) { string animControllerName = Animator.runtimeAnimatorController.name; Vector2 currentDirection = GetDirectionFromMovement(input); UpdateAnimation(movement, currentDirection, input.Attack); lastDirection = currentDirection; }