/// <summary> /// Destroy GameObject and remove from cache specific instance of DragElement /// </summary> /// <param name="dragElement"></param> public void Destroy(DragElement dragElement) { if (!DragElementsCache.ContainsKey(dragElement.Id)) { Destroy(dragElement.gameObject); return; } Destroy(DragElementsCache[dragElement.Id].gameObject); DragElementsCache.Remove(dragElement.Id); }
/// <summary> /// Attach events and Cache specific DragElement in <see cref="DragElementsCache"/> /// </summary> /// <param name="dragElement"></param> public void CacheDragElement(DragElement dragElement) { PrepareDragEvents(dragElement); if (!DragElementsCache.ContainsKey(dragElement.Id)) { DragElementsCache.Add(dragElement.Id, null); } DragElementsCache[dragElement.Id] = dragElement; DragElementsCache[dragElement.Id].IsCached = true; }