// applies the sprint flag, sets regardless of grounding state so the animation can be updated on landing
    private void ApplySprint()
    {
        if (!IsSprinting)
        {
            IsSprinting = true;
        }

        if (Grounded() && IsRunning && _canSprint)
        {
            StartSprint?.Invoke();
        }
    }
    private void SprintInput()
    {
        if (Input.GetButtonDown("Sprint"))
        {
            StartSprint?.Invoke();
        }


        if (Input.GetButtonUp("Sprint"))
        {
            StopSprint?.Invoke();
        }
    }