public void OnBeginDrag(PointerEventData eventData) { if (_scrollSlot && !_scrollSlot.ValidForChangeSlotSpell()) { return; } _onDrag = true; transform.SetParent(_startParent.parent.parent.parent); transform.SetAsLastSibling(); Image.raycastTarget = false; }
public void OnEndDrag(PointerEventData eventData) { if (!_onDrag) { return; } if (_newScrollSlot && _newScrollSlot.ValidForChangeSlotSpell()) { Image.raycastTarget = true; if (_newScrollSlot) { if (_scrollSlot) { _scrollSlot.RemoveFromSlot(); } transform.SetParent(_newScrollSlot.transform); transform.SetAsFirstSibling(); _newScrollSlot.AddToSlot(this); _scrollSlot = _newScrollSlot; _newScrollSlot = null; } else { if (_scrollSlot) { _scrollSlot.RemoveFromSlot(); } _scrollSlot = null; transform.SetParent(_startParent); } } else { if (_scrollSlot) { _scrollSlot.RemoveFromSlot(); } Image.raycastTarget = true; _scrollSlot = null; transform.SetParent(_startParent); } _onDrag = false; }