コード例 #1
0
        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;
                    }
                }
            }
        }
コード例 #2
0
 private void OnItemBeginDrop(object sender, ItemDropCancelArgs e)
 {
     if (!e.IsExternal)
     {
         ProjectItem dropFolder = (ProjectItem)e.DropTarget;
         e.Cancel = !CanDrop(dropFolder, e.DragItems.OfType <ProjectItem>().ToArray());
     }
 }
コード例 #3
0
ファイル: HierarchyView.cs プロジェクト: senyaa1/CuiBuilder
    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;
        }
    }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 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();
     }
 }
コード例 #6
0
ファイル: HierarchyViewImpl.cs プロジェクト: lbm7926/Imp
        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();
            }
        }
コード例 #7
0
 private void OnItemDragEnter(object sender, ItemDropCancelArgs e)
 {
     Editor.DragDrop.SetCursor(KnownCursor.DropNotAllowed);
     e.Cancel = true;
 }
コード例 #8
0
 private void OnItemBeginDrop(object sender, ItemDropCancelArgs e)
 {
 }
コード例 #9
0
ファイル: HierarchyViewImpl.cs プロジェクト: lbm7926/Imp
 protected virtual void OnItemDragEnter(object sender, ItemDropCancelArgs e)
 {
     Editor.DragDrop.SetCursor(KnownCursor.DropAllowed);
 }