public override bool ShouldUseMovement()
    {
        if (grapple == null)
        {
            return(false);
        }

        bool grappled = grapple.IsHooked;

        if (grappled && !startedMoving)
        {
            Vector2 dif = (transform.position - grapple.HookTransform.position);
            difference.x = dif.x;
            flipped      = (difference.x >= 0);
            dis          = Mathf.Clamp(dif.magnitude, minimumSwingRadius, grapple.GrappleLength);

            float disPercent = (dis - minimumSwingRadius) / (grapple.GrappleLength - minimumSwingRadius);
            speed = swingSpeed.EvaluatePercent(disPercent);

            keepMomentum  = true;
            startedMoving = true;
        }

        return(grappled);
    }