Esempio n. 1
0
        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;
 }