Inheritance: ITreeViewDragging
		public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
		{
			HierarchyProperty hierarchyProperty = new HierarchyProperty(HierarchyType.GameObjects);
			if (parentItem == null || targetItem == null)
			{
				return InternalEditorUtility.HierarchyWindowDrag(null, perform, InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon);
			}
			if (this.allowDragBetween)
			{
				if (dropPos == TreeViewDragging.DropPosition.Above || targetItem == null || !hierarchyProperty.Find(targetItem.id, null))
				{
					hierarchyProperty = null;
				}
			}
			else
			{
				if (dropPos == TreeViewDragging.DropPosition.Above || parentItem == null || !hierarchyProperty.Find(parentItem.id, null))
				{
					hierarchyProperty = null;
				}
			}
			InternalEditorUtility.HierarchyDropMode hierarchyDropMode = InternalEditorUtility.HierarchyDropMode.kHierarchyDragNormal;
			if (this.allowDragBetween)
			{
				hierarchyDropMode = ((dropPos != TreeViewDragging.DropPosition.Upon) ? InternalEditorUtility.HierarchyDropMode.kHierarchyDropBetween : InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon);
			}
			if (parentItem != null && parentItem == targetItem && dropPos != TreeViewDragging.DropPosition.Above)
			{
				hierarchyDropMode |= InternalEditorUtility.HierarchyDropMode.kHierarchyDropAfterParent;
			}
			return InternalEditorUtility.HierarchyWindowDrag(hierarchyProperty, perform, hierarchyDropMode);
		}
 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, (int[]) null))
     property = (HierarchyProperty) null;
   return InternalEditorUtility.ProjectWindowDrag(property, perform);
 }
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
 {
     HierarchyProperty property = new HierarchyProperty(HierarchyType.GameObjects);
     if ((parentItem == null) || (targetItem == null))
     {
         return InternalEditorUtility.HierarchyWindowDrag(null, perform, InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon);
     }
     if (this.allowDragBetween)
     {
         if (((dropPos == TreeViewDragging.DropPosition.Above) || (targetItem == null)) || !property.Find(targetItem.id, null))
         {
             property = null;
         }
     }
     else if (((dropPos == TreeViewDragging.DropPosition.Above) || (parentItem == null)) || !property.Find(parentItem.id, null))
     {
         property = null;
     }
     InternalEditorUtility.HierarchyDropMode kHierarchyDragNormal = InternalEditorUtility.HierarchyDropMode.kHierarchyDragNormal;
     if (this.allowDragBetween)
     {
         kHierarchyDragNormal = (dropPos != TreeViewDragging.DropPosition.Upon) ? InternalEditorUtility.HierarchyDropMode.kHierarchyDropBetween : InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon;
     }
     if (((parentItem != null) && (parentItem == targetItem)) && (dropPos != TreeViewDragging.DropPosition.Above))
     {
         kHierarchyDragNormal |= InternalEditorUtility.HierarchyDropMode.kHierarchyDropAfterParent;
     }
     return InternalEditorUtility.HierarchyWindowDrag(property, perform, kHierarchyDragNormal);
 }
Esempio n. 4
0
        public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
        {
            AudioMixerTreeViewNode           audioMixerTreeViewNode = parentNode as AudioMixerTreeViewNode;
            List <AudioMixerGroupController> list = new List <UnityEngine.Object>(DragAndDrop.objectReferences).OfType <AudioMixerGroupController>().ToList <AudioMixerGroupController>();
            DragAndDropVisualMode            result;

            if (audioMixerTreeViewNode != null && list.Count > 0)
            {
                List <int> list2 = (from i in list
                                    select i.GetInstanceID()).ToList <int>();
                bool flag = this.ValidDrag(parentNode, list2) && !AudioMixerController.WillModificationOfTopologyCauseFeedback(this.m_owner.Controller.GetAllAudioGroupsSlow(), list, audioMixerTreeViewNode.group, null);
                if (perform && flag)
                {
                    AudioMixerGroupController group = audioMixerTreeViewNode.group;
                    int insertionIndex = TreeViewDragging.GetInsertionIndex(parentNode, targetNode, dragPos);
                    this.m_owner.Controller.ReparentSelection(group, insertionIndex, list);
                    this.m_owner.ReloadTree();
                    this.m_TreeView.SetSelection(list2.ToArray(), true);
                }
                result = ((!flag) ? DragAndDropVisualMode.Rejected : DragAndDropVisualMode.Move);
            }
            else
            {
                result = DragAndDropVisualMode.None;
            }
            return(result);
        }
		public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
		{
			AudioMixerTreeViewDragging.DragData dragData = DragAndDrop.GetGenericData("AudioMixerDragging") as AudioMixerTreeViewDragging.DragData;
			if (dragData == null)
			{
				return DragAndDropVisualMode.None;
			}
			List<AudioMixerItem> draggedItems = dragData.m_DraggedItems;
			AudioMixerItem audioMixerItem = parentNode as AudioMixerItem;
			if (audioMixerItem != null && dragData != null)
			{
				List<AudioMixerGroupController> groupsToBeMoved = (
					from i in draggedItems
					select i.mixer.masterGroup).ToList<AudioMixerGroupController>();
				List<AudioMixerGroupController> allAudioGroupsSlow = audioMixerItem.mixer.GetAllAudioGroupsSlow();
				bool flag = AudioMixerController.WillModificationOfTopologyCauseFeedback(allAudioGroupsSlow, groupsToBeMoved, audioMixerItem.mixer.masterGroup, null);
				bool flag2 = this.ValidDrag(parentNode, draggedItems) && !flag;
				if (perform && flag2 && this.m_MixersDroppedOnMixerCallback != null)
				{
					this.m_MixersDroppedOnMixerCallback(this.GetAudioMixersFromItems(draggedItems), audioMixerItem.mixer);
				}
				return (!flag2) ? DragAndDropVisualMode.Rejected : DragAndDropVisualMode.Move;
			}
			return DragAndDropVisualMode.None;
		}
 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))
         {
             return DragAndDropVisualMode.None;
         }
         bool flag = SavedSearchFilters.CanMoveSavedFilter(instanceID, parentItem.id, targetItem.id, true);
         if (flag && perform)
         {
             SavedSearchFilters.MoveSavedFilter(instanceID, parentItem.id, targetItem.id, true);
         }
         return (!flag ? DragAndDropVisualMode.None : DragAndDropVisualMode.Copy);
     }
     if (!(targetItem is SearchFilterTreeItem) || !(parentItem is SearchFilterTreeItem))
     {
         return base.DoDrag(parentItem, targetItem, perform, dropPos);
     }
     string str = DragAndDrop.GetGenericData(ProjectWindowUtil.k_IsFolderGenericData) as string;
     if (!(str == "isFolder"))
     {
         return DragAndDropVisualMode.None;
     }
     if (perform)
     {
         UnityEngine.Object[] objectReferences = DragAndDrop.objectReferences;
         if (objectReferences.Length > 0)
         {
             HierarchyProperty property = new HierarchyProperty(HierarchyType.Assets);
             if (property.Find(objectReferences[0].GetInstanceID(), null))
             {
                 SearchFilter filter = new SearchFilter();
                 string assetPath = AssetDatabase.GetAssetPath(property.instanceID);
                 if (!string.IsNullOrEmpty(assetPath))
                 {
                     filter.folders = new string[] { assetPath };
                     bool addAsChild = targetItem == parentItem;
                     float listAreaGridSize = ProjectBrowserColumnOneTreeViewGUI.GetListAreaGridSize();
                     Selection.activeInstanceID = SavedSearchFilters.AddSavedFilterAfterInstanceID(property.name, filter, listAreaGridSize, targetItem.id, addAsChild);
                 }
                 else
                 {
                     Debug.Log("Could not get asset path from id " + property.name);
                 }
             }
         }
     }
     return DragAndDropVisualMode.Copy;
 }
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
 {
     AudioMixerTreeViewNode node = targetNode as AudioMixerTreeViewNode;
     AudioMixerTreeViewNode node2 = parentNode as AudioMixerTreeViewNode;
     List<AudioMixerGroupController> source = new List<Object>(DragAndDrop.objectReferences).OfType<AudioMixerGroupController>().ToList<AudioMixerGroupController>();
     if ((node2 == null) || (source.Count <= 0))
     {
         return DragAndDropVisualMode.None;
     }
     if (<>f__am$cache1 == null)
     {
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
 {
     DragData genericData = DragAndDrop.GetGenericData("AudioMixerDragging") as DragData;
     if (genericData == null)
     {
         return DragAndDropVisualMode.None;
     }
     List<AudioMixerItem> draggedItems = genericData.m_DraggedItems;
     AudioMixerItem item = parentNode as AudioMixerItem;
     if ((item == null) || (genericData == null))
     {
         return DragAndDropVisualMode.None;
     }
     if (<>f__am$cache1 == null)
     {
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
 {
   AudioMixerTreeViewDragging.DragData genericData = DragAndDrop.GetGenericData("AudioMixerDragging") as AudioMixerTreeViewDragging.DragData;
   if (genericData == null)
     return DragAndDropVisualMode.None;
   List<AudioMixerItem> draggedItems = genericData.m_DraggedItems;
   AudioMixerItem audioMixerItem = parentNode as AudioMixerItem;
   if (audioMixerItem == null || genericData == null)
     return DragAndDropVisualMode.None;
   List<AudioMixerGroupController> list = draggedItems.Select<AudioMixerItem, AudioMixerGroupController>((Func<AudioMixerItem, AudioMixerGroupController>) (i => i.mixer.masterGroup)).ToList<AudioMixerGroupController>();
   bool flag1 = AudioMixerController.WillModificationOfTopologyCauseFeedback(audioMixerItem.mixer.GetAllAudioGroupsSlow(), list, audioMixerItem.mixer.masterGroup, (List<AudioMixerController.ConnectionNode>) null);
   bool flag2 = this.ValidDrag(parentNode, draggedItems) && !flag1;
   if (perform && flag2 && this.m_MixersDroppedOnMixerCallback != null)
     this.m_MixersDroppedOnMixerCallback(this.GetAudioMixersFromItems(draggedItems), audioMixerItem.mixer);
   return flag2 ? DragAndDropVisualMode.Move : DragAndDropVisualMode.Rejected;
 }
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
 {
   AudioMixerTreeViewNode mixerTreeViewNode1 = targetNode as AudioMixerTreeViewNode;
   AudioMixerTreeViewNode mixerTreeViewNode2 = parentNode as AudioMixerTreeViewNode;
   List<AudioMixerGroupController> list1 = new List<UnityEngine.Object>((IEnumerable<UnityEngine.Object>) DragAndDrop.objectReferences).OfType<AudioMixerGroupController>().ToList<AudioMixerGroupController>();
   if (mixerTreeViewNode2 == null || list1.Count <= 0)
     return DragAndDropVisualMode.None;
   List<int> list2 = list1.Select<AudioMixerGroupController, int>((Func<AudioMixerGroupController, int>) (i => i.GetInstanceID())).ToList<int>();
   bool flag = this.ValidDrag(parentNode, list2) && !AudioMixerController.WillModificationOfTopologyCauseFeedback(this.m_owner.Controller.GetAllAudioGroupsSlow(), list1, mixerTreeViewNode2.group, (List<AudioMixerController.ConnectionNode>) null);
   if (perform && flag)
   {
     this.m_owner.Controller.ReparentSelection(mixerTreeViewNode2.group, mixerTreeViewNode1.group, list1);
     this.m_owner.ReloadTree();
     this.m_TreeView.SetSelection(list2.ToArray(), true);
   }
   return flag ? DragAndDropVisualMode.Move : DragAndDropVisualMode.Rejected;
 }
 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))
       return DragAndDropVisualMode.None;
     bool flag = SavedSearchFilters.CanMoveSavedFilter(instanceID, parentItem.id, targetItem.id, true);
     if (flag && perform)
       SavedSearchFilters.MoveSavedFilter(instanceID, parentItem.id, targetItem.id, true);
     return flag ? DragAndDropVisualMode.Copy : DragAndDropVisualMode.None;
   }
   if (!(targetItem is SearchFilterTreeItem) || !(parentItem is SearchFilterTreeItem))
     return base.DoDrag(parentItem, targetItem, perform, dropPos);
   if (!(DragAndDrop.GetGenericData(ProjectWindowUtil.k_IsFolderGenericData) as string == "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[1]{ assetPath };
         bool addAsChild = targetItem == parentItem;
         float listAreaGridSize = ProjectBrowserColumnOneTreeViewGUI.GetListAreaGridSize();
         Selection.activeInstanceID = SavedSearchFilters.AddSavedFilterAfterInstanceID(name, filter, listAreaGridSize, targetItem.id, addAsChild);
       }
       else
         Debug.Log((object) ("Could not get asset path from id " + (object) objectReferences[0].GetInstanceID()));
     }
   }
   return DragAndDropVisualMode.Copy;
 }
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
 {
   DragAndDropVisualMode andDropVisualMode = this.DoDragScenes(parentItem as GameObjectTreeViewItem, targetItem as GameObjectTreeViewItem, perform, dropPos);
   if (andDropVisualMode != DragAndDropVisualMode.None)
     return andDropVisualMode;
   if (parentItem == null || targetItem == null)
     return InternalEditorUtility.HierarchyWindowDrag((HierarchyProperty) null, perform, InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon);
   HierarchyProperty property = new HierarchyProperty(HierarchyType.GameObjects);
   if (this.allowDragBetween)
   {
     if (dropPos == TreeViewDragging.DropPosition.Above || !property.Find(targetItem.id, (int[]) null))
       property = (HierarchyProperty) null;
   }
   else if (dropPos == TreeViewDragging.DropPosition.Above || !property.Find(parentItem.id, (int[]) null))
     property = (HierarchyProperty) null;
   InternalEditorUtility.HierarchyDropMode dropMode = InternalEditorUtility.HierarchyDropMode.kHierarchyDragNormal;
   if (this.allowDragBetween)
     dropMode = dropPos != TreeViewDragging.DropPosition.Upon ? InternalEditorUtility.HierarchyDropMode.kHierarchyDropBetween : InternalEditorUtility.HierarchyDropMode.kHierarchyDropUpon;
   if (parentItem != null && parentItem == targetItem && dropPos != TreeViewDragging.DropPosition.Above)
     dropMode |= InternalEditorUtility.HierarchyDropMode.kHierarchyDropAfterParent;
   return InternalEditorUtility.HierarchyWindowDrag(property, perform, dropMode);
 }
		public override DragAndDropVisualMode DoDrag(TreeViewItem parentNode, TreeViewItem targetNode, bool perform, TreeViewDragging.DropPosition dragPos)
		{
			AudioMixerTreeViewNode audioMixerTreeViewNode = targetNode as AudioMixerTreeViewNode;
			AudioMixerTreeViewNode audioMixerTreeViewNode2 = parentNode as AudioMixerTreeViewNode;
			List<AudioMixerGroupController> list = new List<UnityEngine.Object>(DragAndDrop.objectReferences).OfType<AudioMixerGroupController>().ToList<AudioMixerGroupController>();
			if (audioMixerTreeViewNode2 != null && list.Count > 0)
			{
				List<int> list2 = (
					from i in list
					select i.GetInstanceID()).ToList<int>();
				bool flag = this.ValidDrag(parentNode, list2) && !AudioMixerController.WillModificationOfTopologyCauseFeedback(this.m_owner.Controller.GetAllAudioGroupsSlow(), list, audioMixerTreeViewNode2.group, null);
				if (perform && flag)
				{
					AudioMixerGroupController group = audioMixerTreeViewNode2.group;
					this.m_owner.Controller.ReparentSelection(group, audioMixerTreeViewNode.group, list);
					this.m_owner.ReloadTree();
					this.m_TreeView.SetSelection(list2.ToArray(), true);
				}
				return (!flag) ? DragAndDropVisualMode.Rejected : DragAndDropVisualMode.Move;
			}
			return DragAndDropVisualMode.None;
		}
Esempio n. 14
0
			public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
			{
				TreeViewTest.TestDragging.FooDragData fooDragData = DragAndDrop.GetGenericData("FooDragging") as TreeViewTest.TestDragging.FooDragData;
				TreeViewTest.FooTreeViewItem fooTreeViewItem = targetItem as TreeViewTest.FooTreeViewItem;
				TreeViewTest.FooTreeViewItem fooTreeViewItem2 = parentItem as TreeViewTest.FooTreeViewItem;
				if (fooTreeViewItem2 != null && fooDragData != null)
				{
					bool flag = this.ValidDrag(parentItem, fooDragData.m_DraggedItems);
					if (perform && flag)
					{
						List<TreeViewTest.BackendData.Foo> draggedItems = (
							from x in fooDragData.m_DraggedItems
							where x is TreeViewTest.FooTreeViewItem
							select ((TreeViewTest.FooTreeViewItem)x).foo).ToList<TreeViewTest.BackendData.Foo>();
						this.m_BackendData.ReparentSelection(fooTreeViewItem2.foo, fooTreeViewItem.foo, draggedItems);
						this.m_TreeView.ReloadData();
					}
					return (!flag) ? DragAndDropVisualMode.None : DragAndDropVisualMode.Move;
				}
				return DragAndDropVisualMode.None;
			}
		public abstract DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPosition);
Esempio n. 16
0
 public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
 {
     FooDragData genericData = DragAndDrop.GetGenericData("FooDragging") as FooDragData;
     TreeViewTest.FooTreeViewItem item = targetItem as TreeViewTest.FooTreeViewItem;
     TreeViewTest.FooTreeViewItem item2 = parentItem as TreeViewTest.FooTreeViewItem;
     if ((item2 == null) || (genericData == null))
     {
         return DragAndDropVisualMode.None;
     }
     bool flag = this.ValidDrag(parentItem, genericData.m_DraggedItems);
     if (perform && flag)
     {
         if (<>f__am$cache1 == null)
         {
 private DragAndDropVisualMode DoDragScenes(GameObjectTreeViewItem parentItem, GameObjectTreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
 {
   List<Scene> genericData = DragAndDrop.GetGenericData("SceneHeaderList") as List<Scene>;
   bool flag1 = genericData != null;
   bool flag2 = false;
   if (!flag1 && DragAndDrop.objectReferences.Length > 0)
   {
     int num = 0;
     foreach (UnityEngine.Object objectReference in DragAndDrop.objectReferences)
     {
       if (objectReference is SceneAsset)
         ++num;
     }
     flag2 = num == DragAndDrop.objectReferences.Length;
   }
   if (!flag1 && !flag2)
     return DragAndDropVisualMode.None;
   if (perform)
   {
     List<Scene> sceneList = (List<Scene>) null;
     if (flag2)
     {
       List<Scene> source = new List<Scene>();
       foreach (UnityEngine.Object objectReference in DragAndDrop.objectReferences)
       {
         string assetPath = AssetDatabase.GetAssetPath(objectReference);
         Scene sceneByPath = SceneManager.GetSceneByPath(assetPath);
         if (SceneHierarchyWindow.IsSceneHeaderInHierarchyWindow(sceneByPath))
         {
           this.m_TreeView.Frame(sceneByPath.handle, true, true);
         }
         else
         {
           Scene scene = !Event.current.alt ? EditorSceneManager.OpenScene(assetPath, OpenSceneMode.Additive) : EditorSceneManager.OpenScene(assetPath, OpenSceneMode.AdditiveWithoutLoading);
           if (SceneHierarchyWindow.IsSceneHeaderInHierarchyWindow(scene))
             source.Add(scene);
         }
       }
       if (targetItem != null)
         sceneList = source;
       if (SceneManager.sceneCount - source.Count == 1)
         ((TreeViewDataSource) this.m_TreeView.data).SetExpanded(SceneManager.GetSceneAt(0).handle, true);
       if (source.Count > 0)
       {
         Selection.instanceIDs = source.Select<Scene, int>((Func<Scene, int>) (x => x.handle)).ToArray<int>();
         this.m_TreeView.Frame(source.Last<Scene>().handle, true, false);
       }
     }
     else
       sceneList = genericData;
     if (sceneList != null)
     {
       if (targetItem != null)
       {
         Scene scene = targetItem.scene;
         if (SceneHierarchyWindow.IsSceneHeaderInHierarchyWindow(scene))
         {
           if (!targetItem.isSceneHeader || dropPos == TreeViewDragging.DropPosition.Upon)
             dropPos = TreeViewDragging.DropPosition.Below;
           if (dropPos == TreeViewDragging.DropPosition.Above)
           {
             for (int index = 0; index < sceneList.Count; ++index)
               EditorSceneManager.MoveSceneBefore(sceneList[index], scene);
           }
           else if (dropPos == TreeViewDragging.DropPosition.Below)
           {
             for (int index = sceneList.Count - 1; index >= 0; --index)
               EditorSceneManager.MoveSceneAfter(sceneList[index], scene);
           }
         }
       }
       else
       {
         Scene sceneAt = SceneManager.GetSceneAt(SceneManager.sceneCount - 1);
         for (int index = sceneList.Count - 1; index >= 0; --index)
           EditorSceneManager.MoveSceneAfter(sceneList[index], sceneAt);
       }
     }
   }
   return DragAndDropVisualMode.Move;
 }