public void OnDrag(PointerEventData eventData)
    {
        float distance = Vector3.SqrMagnitude(eventData.position - eventData.pressPosition);

        if (distance >= distanceMagnitude && !directionChanged)
        {
            Vector3   dirVector     = (eventData.position - eventData.pressPosition).normalized;
            Direction dragDirection = DirectionHelper.GetDragDirection(dirVector);
            OnDragEndEvent?.Invoke(dragDirection);
            directionChanged = true;
        }
    }