public float EvaluateInputScore(DragMovementCalculation dragMovementCalculation, Moveable_Drag draggable, Vector3 dragForce)
        {
            if (!IsValid())
            {
                if (dragMovementCalculation == DragMovementCalculation.CursorPosition)
                {
                    return(Mathf.Infinity);
                }
                return(0f);
            }

            switch (dragMovementCalculation)
            {
            case DragMovementCalculation.DragVector:
                return(connectedTrack.GetForceDotProduct(dragForce, draggable));

            case DragMovementCalculation.CursorPosition:
                return(connectedTrack.GetMinDistanceToScreenPoint(KickStarter.playerInput.GetMousePosition()));

            default:
                return(0f);
            }
        }