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