public static bool TryAddItem(DragDropItem item, DragDropTarget target, bool sendCallback = true) { if (item == null || target == null) { return(false); } if (!(item.isActiveAndEnabled && target.isActiveAndEnabled)) { return(false); } if (item.attachedTarget != null) { return(false); } if (!IsChannelMatch(target, item)) { return(false); } DragDropEventData eventData = new DragDropEventData(!sendCallback); eventData.Reset(); eventData.target = target; eventData.item = item; target.OnItemAttach(eventData); item.OnItemAttach(eventData); return(true); }
public static bool TryAddItem(DragDropItem item, DragDropTarget target) { if (item.attachedTarget != null) { return(false); } if (!IsChannelMatch(target, item)) { return(false); } if (target.currentItemCount >= target.maxItemCount) { return(false); } DragDropEventData eventData = new DragDropEventData(); eventData.Reset(); eventData.external = true; eventData.target = target; eventData.item = item; target.OnItemEnter(eventData); item.OnItemEnter(eventData); target.OnItemAttach(eventData); item.OnItemAttach(eventData); return(true); }
public void OnPointerDown(PointerEventData eventData) { currentEventData.Reset(); scrollRect = DragDropHelper.FindComponentUpward <ScrollRect>(transform); currentEventData.item = this; currentEventData.eligibleForClick = true; if (attachedTarget) { lastTarget = attachedTarget; lastParent = attachedTarget.targetParent; } else { lastParent = transform.parent; } if (delayDetach && !freeItem) { StartCoroutine(DelayHandleDragDropEvent()); } }
public static int RemoveAllItems(DragDropTarget target, bool sendCallback = true) { var items = target.GetAllAttachedItems(); DragDropEventData eventData = new DragDropEventData(!sendCallback); eventData.Reset(); eventData.target = target; for (int count = items.Count, i = count - 1; i >= 0; --i) { DragDropItem item = items[i]; eventData.item = item; target.OnItemDetach(eventData); item.OnItemDetach(eventData); item.OnSetFree(eventData); } return(items.Count); }
public static int RemoveAllItems(DragDropTarget target) { var items = target.GetAllAttachedItems(); DragDropEventData eventData = new DragDropEventData(); eventData.Reset(); eventData.external = true; eventData.target = target; foreach (var item in items) { eventData.item = item; target.OnItemDetach(eventData); item.OnItemDetach(eventData); target.OnItemExit(eventData); item.OnItemExit(eventData); item.OnSetFree(eventData); } return(items.Length); }
public static bool TryRemoveItem(DragDropItem item, DragDropTarget target) { if (item.attachedTarget == target && target.HasItemAttached(item)) { DragDropEventData eventData = new DragDropEventData(); eventData.Reset(); eventData.external = true; eventData.target = target; eventData.item = item; target.OnItemDetach(eventData); item.OnItemDetach(eventData); target.OnItemExit(eventData); item.OnItemExit(eventData); item.OnSetFree(eventData); return(true); } else { return(false); } }
public static bool TryRemoveItem(DragDropItem item, DragDropTarget target, bool sendCallback = true) { if (item == null || target == null) { return(false); } if (item.attachedTarget == target && target.HasItemAttached(item)) { DragDropEventData eventData = new DragDropEventData(!sendCallback); eventData.Reset(); eventData.target = target; eventData.item = item; target.OnItemDetach(eventData); item.OnItemDetach(eventData); item.OnSetFree(eventData); return(true); } else { return(false); } }