public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos) { TestDragging.FooDragData fooDragData = DragAndDrop.GetGenericData("FooDragging") as TestDragging.FooDragData; FooTreeViewItem fooTreeViewItem = parentItem as FooTreeViewItem; DragAndDropVisualMode result; if (fooTreeViewItem != null && fooDragData != null) { bool flag = this.ValidDrag(parentItem, fooDragData.m_DraggedItems); if (perform && flag) { List <BackendData.Foo> draggedItems = (from x in fooDragData.m_DraggedItems where x is FooTreeViewItem select((FooTreeViewItem)x).foo).ToList <BackendData.Foo>(); int[] selectedIDs = (from x in fooDragData.m_DraggedItems where x is FooTreeViewItem select((FooTreeViewItem)x).id).ToArray <int>(); int insertionIndex = TreeViewDragging.GetInsertionIndex(parentItem, targetItem, dropPos); this.m_BackendData.ReparentSelection(fooTreeViewItem.foo, insertionIndex, draggedItems); this.m_TreeView.ReloadData(); this.m_TreeView.SetSelection(selectedIDs, true); } result = ((!flag) ? DragAndDropVisualMode.None : DragAndDropVisualMode.Move); } else { result = DragAndDropVisualMode.None; } return(result); }
public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos) { if (targetItem == null) { return DragAndDropVisualMode.None; } object genericData = DragAndDrop.GetGenericData(ProjectWindowUtil.k_DraggingFavoriteGenericData); if (genericData != null) { int instanceID = (int) genericData; if ((targetItem is SearchFilterTreeItem) && (parentItem is SearchFilterTreeItem)) { bool flag = SavedSearchFilters.CanMoveSavedFilter(instanceID, parentItem.id, targetItem.id, dropPos == TreeViewDragging.DropPosition.Below); if (flag && perform) { SavedSearchFilters.MoveSavedFilter(instanceID, parentItem.id, targetItem.id, dropPos == TreeViewDragging.DropPosition.Below); int[] selectedIDs = new int[] { instanceID }; base.m_TreeView.SetSelection(selectedIDs, false); base.m_TreeView.NotifyListenersThatSelectionChanged(); } return (!flag ? DragAndDropVisualMode.None : DragAndDropVisualMode.Copy); } return DragAndDropVisualMode.None; } if ((targetItem is SearchFilterTreeItem) && (parentItem is SearchFilterTreeItem)) { string str = DragAndDrop.GetGenericData(ProjectWindowUtil.k_IsFolderGenericData) as string; if (str != "isFolder") { return DragAndDropVisualMode.None; } if (perform) { Object[] objectReferences = DragAndDrop.objectReferences; if (objectReferences.Length > 0) { string assetPath = AssetDatabase.GetAssetPath(objectReferences[0].GetInstanceID()); if (!string.IsNullOrEmpty(assetPath)) { string name = new DirectoryInfo(assetPath).Name; SearchFilter filter = new SearchFilter(); filter.folders = new string[] { assetPath }; bool addAsChild = targetItem == parentItem; float listAreaGridSize = ProjectBrowserColumnOneTreeViewGUI.GetListAreaGridSize(); int num3 = SavedSearchFilters.AddSavedFilterAfterInstanceID(name, filter, listAreaGridSize, targetItem.id, addAsChild); int[] numArray2 = new int[] { num3 }; base.m_TreeView.SetSelection(numArray2, false); base.m_TreeView.NotifyListenersThatSelectionChanged(); } else { Debug.Log("Could not get asset path from id " + objectReferences[0].GetInstanceID()); } } } return DragAndDropVisualMode.Copy; } return base.DoDrag(parentItem, targetItem, perform, dropPos); }
public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos) { AudioMixerTreeViewNode node = parentNode as AudioMixerTreeViewNode; List<AudioMixerGroupController> groupsToBeMoved = Enumerable.ToList<AudioMixerGroupController>(Enumerable.OfType<AudioMixerGroupController>(new List<Object>(DragAndDrop.objectReferences))); if ((node != null) && (groupsToBeMoved.Count > 0)) { if (<>f__am$cache0 == null) {
public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos) { HierarchyProperty property = new HierarchyProperty(HierarchyType.Assets); if ((parentItem == null) || !property.Find(parentItem.id, null)) { property = null; } return InternalEditorUtility.ProjectWindowDrag(property, perform); }
public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos) { TestDragging.FooDragData genericData = DragAndDrop.GetGenericData("FooDragging") as TestDragging.FooDragData; FooTreeViewItem fooTreeViewItem1 = targetItem as FooTreeViewItem; FooTreeViewItem fooTreeViewItem2 = parentItem as FooTreeViewItem; if (fooTreeViewItem2 == null || genericData == null) return DragAndDropVisualMode.None; bool flag = this.ValidDrag(parentItem, genericData.m_DraggedItems); if (perform && flag) { List<BackendData.Foo> list = genericData.m_DraggedItems.Where<TreeViewItem>((Func<TreeViewItem, bool>) (x => x is FooTreeViewItem)).Select<TreeViewItem, BackendData.Foo>((Func<TreeViewItem, BackendData.Foo>) (x => ((FooTreeViewItem) x).foo)).ToList<BackendData.Foo>(); int[] array = genericData.m_DraggedItems.Where<TreeViewItem>((Func<TreeViewItem, bool>) (x => x is FooTreeViewItem)).Select<TreeViewItem, int>((Func<TreeViewItem, int>) (x => x.id)).ToArray<int>(); this.m_BackendData.ReparentSelection(fooTreeViewItem2.foo, fooTreeViewItem1.foo, list); this.m_TreeView.ReloadData(); this.m_TreeView.SetSelection(array, true); } return flag ? DragAndDropVisualMode.Move : DragAndDropVisualMode.None; }