private void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { if (!e.IsExternal) { ProjectItem dropFolder = (ProjectItem)e.DropTarget; // m_treeView.Expand(dropFolder);// if (dropFolder.Children == null) { return; } ProjectItem[] childFolders = dropFolder.Children.Where(pi => pi.IsFolder).ToArray(); if (childFolders.Length == 0) { return; } foreach (ProjectItem dragFolder in e.DragItems) { if (childFolders.Where(pi => pi.NameExt == dragFolder.NameExt).Any()) { e.Cancel = true; return; } } } }
private void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { if (!e.IsExternal) { ProjectItem dropFolder = (ProjectItem)e.DropTarget; e.Cancel = !CanDrop(dropFolder, e.DragItems.OfType <ProjectItem>().ToArray()); } }
private void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { GameObject dropTarget = (GameObject)e.DropTarget; if (Root.Contains(dropTarget) && (e.Action == ItemDropAction.SetNextSibling || e.Action == ItemDropAction.SetPrevSibling)) { e.Cancel = true; } }
private void OnItemDragEnter(object sender, ItemDropCancelArgs e) { if (e.DropTarget == null || e.DropTarget is AssetItem || e.DragItems != null && e.DragItems.Contains(e.DropTarget)) { Editor.DragDrop.SetCursor(KnownCursor.DropNowAllowed); e.Cancel = true; } else { Editor.DragDrop.SetCursor(KnownCursor.DropAllowed); } }
private void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { if (e.IsExternal) { } else { RuntimeUndo.BeginRecord(); for (int i = 0; i < e.DragItems.Length; ++i) { Transform dragT = ((GameObject)e.DragItems[i]).transform; RuntimeUndo.RecordTransform(dragT, dragT.parent, dragT.GetSiblingIndex()); RuntimeUndo.RecordObject(dragT.gameObject, m_treeView.IndexOf(dragT.gameObject), RestoreIndexFromUndoRecord); } RuntimeUndo.EndRecord(); } }
protected virtual void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { if (e.IsExternal) { } else { Editor.Undo.BeginRecord(); Editor.Undo.CreateRecord(null, null, false, record => RefreshTree(record, true), record => RefreshTree(record, false)); IEnumerable <ExposeToEditor> dragItems = e.DragItems.OfType <ExposeToEditor>(); if (e.Action == ItemDropAction.SetLastChild || dragItems.Any(d => (object)d.GetParent() != e.DropTarget)) { foreach (ExposeToEditor exposed in dragItems.Reverse()) { Transform dragT = exposed.transform; int siblingIndex = dragT.GetSiblingIndex(); Editor.Undo.BeginRecordTransform(dragT, dragT.parent, siblingIndex); } } else { Transform dropT = ((ExposeToEditor)e.DropTarget).transform; int dropTIndex = dropT.GetSiblingIndex(); foreach (ExposeToEditor exposed in dragItems .Where(o => o.transform.GetSiblingIndex() > dropTIndex) .OrderBy(o => o.transform.GetSiblingIndex()) .Union(dragItems .Where(o => o.transform.GetSiblingIndex() < dropTIndex) .OrderByDescending(o => o.transform.GetSiblingIndex()))) { Transform dragT = exposed.transform; int siblingIndex = dragT.GetSiblingIndex(); Editor.Undo.BeginRecordTransform(dragT, dragT.parent, siblingIndex); } } Editor.Undo.EndRecord(); } }
private void OnItemDragEnter(object sender, ItemDropCancelArgs e) { Editor.DragDrop.SetCursor(KnownCursor.DropNotAllowed); e.Cancel = true; }
private void OnItemBeginDrop(object sender, ItemDropCancelArgs e) { }
protected virtual void OnItemDragEnter(object sender, ItemDropCancelArgs e) { Editor.DragDrop.SetCursor(KnownCursor.DropAllowed); }