void TrySetDraggedPosition(PointerEventData data)
    {
        if (data.pointerEnter != null && data.pointerEnter.transform as RectTransform != null)
        {
            RectTransform rectTransform = data.pointerEnter.transform as RectTransform;

            if (RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform, data.position, data.pressEventCamera, out Vector3 globalMousePos))
            {
                if (sceneManager.CanDragItemToPosition(this, globalMousePos))
                {
                    _rectTransform.position = globalMousePos;

                    foreach (var link in _links.Values)
                    {
                        link.UpdateTransformFromItems();
                    }
                }
            }
        }
    }