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); }