public void OnPanelTranslate(PanelHeader panelHeader, PointerEventData draggingPointer) { if (draggedPanel == panelHeader.Panel) { RectTransformUtility.ScreenPointToLocalPointInRectangle(draggedPanel.RectTransform, draggingPointer.position, previewPanelCanvas.Internal.worldCamera, out Vector2 touchPos); draggedPanel.RectTransform.anchoredPosition += touchPos - panelHeader.InitialTouchPos; } }
public void OnPointerEnteredCanvas(PanelCanvas canvas, PointerEventData pointer) { if (draggedPanel != null && pointer.pointerDrag != null) { PanelHeader header = pointer.pointerDrag.GetComponent <PanelHeader>(); if (header != null) { if (header.Panel == draggedPanel && header.Panel.RectTransform.parent != canvas.RectTransform) { previewPanelCanvas = canvas; header.Panel.RectTransform.SetParent(canvas.RectTransform, false); header.Panel.RectTransform.SetAsLastSibling(); } } else { PanelTab tab = pointer.pointerDrag.GetComponent <PanelTab>(); if (tab != null) { if (tab.Panel == draggedPanel && previewPanel.parent != canvas.RectTransform) { previewPanelCanvas = canvas; if (hoveredAnchorZone && hoveredAnchorZone.Panel.Canvas != canvas) { hoveredAnchorZone.OnPointerExit(pointer); } previewPanel.SetParent(canvas.RectTransform, false); previewPanel.SetAsLastSibling(); } } } } }