void IBeginDragHandler.OnBeginDrag(PointerEventData eventData) { if (!m_canDrag) { return; } m_tabPreview = Instantiate(m_tabPreviewPrefab, m_root.Preview); RectTransform previewTransform = (RectTransform)m_tabPreview.transform; RectTransform rt = (RectTransform)transform; PreviewPosition = rt.position; previewTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, rt.rect.width); previewTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, rt.rect.height); m_tabPreview.Icon = Icon; m_tabPreview.Text = Text; m_tabPreview.IsCloseButtonVisible = IsCloseButtonVisible; m_canvasGroup.alpha = 0; if (BeginDrag != null) { BeginDrag(this, eventData); } }
void IEndDragHandler.OnEndDrag(PointerEventData eventData) { m_canvasGroup.alpha = 1; if (EndDrag != null) { EndDrag(this, eventData); } Destroy(m_tabPreview.gameObject); m_tabPreview = null; }