Example #1
0
 private void OnItemDrop(object sender, ItemDropArgs args)
 {
     if (args.DropTarget == null)
     {
         return;
     }
     Singleton <UndoRedoManager> .Instance.Do((ICommand) new ListDropCommand(args));
 }
Example #2
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            ProjectItem drop = (ProjectItem)e.DropTarget;

            if (e.Action == ItemDropAction.SetLastChild)
            {
                m_project.Move(e.DragItems.OfType <ProjectItem>().ToArray(), (ProjectItem)e.DropTarget);
            }
        }
Example #3
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            ProjectItem drop = (ProjectItem)e.DropTarget;

            if (e.Action == ItemDropAction.SetLastChild)
            {
                Editor.IsBusy = true;
                m_project.Move(e.DragItems.OfType <ProjectItem>().ToArray(), (ProjectItem)e.DropTarget, (error, arg1, arg2) => Editor.IsBusy = false);
            }
        }
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            Editor.DragDrop.RaiseDrop(e.PointerEventData);

            if (!(e.DropTarget is AssetItem) && (e.DragItems == null || !e.DragItems.Contains(e.DropTarget)))
            {
                ProjectItem[] projectItems = e.DragItems.OfType <ProjectItem>().ToArray();
                m_project.Move(projectItems, (ProjectItem)e.DropTarget);
            }
        }
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            ProjectItem drop = (ProjectItem)e.DropTarget;

            if (e.Action == ItemDropAction.SetLastChild)
            {
                if (Drop != null)
                {
                    Drop(this, e);
                }
            }
        }
Example #6
0
        private void OnItemDrop(object sender, ItemDropArgs args)
        {
            m_view.TreeView.ItemDropStdHandler <Material>(args,
                                                          (item) => null,
                                                          (item, parent) => { },
                                                          (item, parent) => m_paletteManager.Palette.Materials.IndexOf(item),
                                                          (item, parent) => m_paletteManager.Palette.Materials.Remove(item),
                                                          (item, parent, i) => m_paletteManager.Palette.Materials.Insert(i, item),
                                                          (item, parent) => m_paletteManager.Palette.Materials.Add(item));

            for (int i = 0; i < m_paletteManager.Palette.Materials.Count; ++i)
            {
                m_view.TreeView.DataBindItem(m_paletteManager.Palette.Materials[i]);
            }
        }
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            DragDrop.RaiseDrop(e.PointerEventData);

            ProjectItem parent = (ProjectItem)e.DropTarget;

            foreach (ProjectItem item in e.DragItems)
            {
                if (item.Parent != parent)
                {
                    m_listBox.RemoveChild(item.Parent, item, item.Parent.Children.Count == 1);
                    parent.AddChild(item);
                }
            }
        }
Example #8
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            if (e.DropTarget == null)
            {
                return;
            }
            Transform dropT = ((GameObject)e.DropTarget).transform;

            if (e.Action == ItemDropAction.SetLastChild)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    dragT.SetParent(dropT, true);
                    dragT.SetAsLastSibling();
                }
            }
            else if (e.Action == ItemDropAction.SetNextSibling)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    if (dragT.parent != dropT.parent)
                    {
                        dragT.SetParent(dropT.parent, true);
                    }

                    int siblingIndex = dropT.GetSiblingIndex();
                    dragT.SetSiblingIndex(siblingIndex + 1);
                }
            }
            else if (e.Action == ItemDropAction.SetPrevSibling)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    if (dragT.parent != dropT.parent)
                    {
                        dragT.SetParent(dropT.parent, true);
                    }

                    int siblingIndex = dropT.GetSiblingIndex();
                    dragT.SetSiblingIndex(siblingIndex);
                }
            }
        }
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            Editor.DragDrop.RaiseDrop(e.PointerEventData);

            if (!(e.DropTarget is AssetItem) && (e.DragItems == null || !e.DragItems.Contains(e.DropTarget)))
            {
                ProjectItem parent = (ProjectItem)e.DropTarget;
                foreach (ProjectItem item in e.DragItems)
                {
                    if (item.Parent != parent)
                    {
                        m_listBox.RemoveChild(item.Parent, item, item.Parent.Children.Count == 1);
                        parent.AddChild(item);
                    }
                }
            }
        }
Example #10
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            if (e.IsExternal)
            {
                return;
            }
            CursorHelper.ResetCursor(this);

            ProjectItemObjectPair objectItemPair = (ProjectItemObjectPair)e.DragItems[0];

            CompleteSpawn(objectItemPair);

            if (objectItemPair.IsResource)
            {
                DragDrop.RaiseDrop();
            }
        }
Example #11
0
        private void OnProjectTreeItemDrop(object sender, ItemDropArgs e)
        {
            ProjectItem[] dragItems  = e.DragItems.OfType <ProjectItem>().ToArray();
            ProjectItem   dropTarget = (ProjectItem)e.DropTarget;

            m_projectManager.Move(dragItems, dropTarget, () =>
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    ProjectItem dragItem = (ProjectItem)e.DragItems[i];

                    m_projectTree.DropProjectItem(dragItem, dropTarget);

                    if (m_projectTree.SelectedFolder != null &&
                        (m_projectTree.SelectedFolder.Children == null ||
                         !m_projectTree.SelectedFolder.Children.Contains(dragItem)))
                    {
                        m_projectResources.RemoveProjectItem(dragItem);
                    }
                }
            });
        }
Example #12
0
        private void OnItemDrop(object sender, ItemDropArgs e) {
            if (e.DropTarget == null) {
                return;
            }

            Transform dropT = ((GameObject)e.DropTarget).transform;

            //Set drag items as children of drop target
            if (e.Action == ItemDropAction.SetLastChild) {
                for (int i = 0; i < e.DragItems.Length; ++i) {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    dragT.SetParent(dropT, true);
                    dragT.SetAsLastSibling();
                }
            }

            //Put drag items next to drop target
            else if (e.Action == ItemDropAction.SetNextSibling) {
                for (int i = e.DragItems.Length - 1; i >= 0; --i) {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    int dropTIndex = dropT.GetSiblingIndex();
                    if (dragT.parent != dropT.parent) {
                        dragT.SetParent(dropT.parent, true);
                        dragT.SetSiblingIndex(dropTIndex + 1);
                    }
                    else {
                        int dragTIndex = dragT.GetSiblingIndex();
                        if (dropTIndex < dragTIndex) {
                            dragT.SetSiblingIndex(dropTIndex + 1);
                        }
                        else {
                            dragT.SetSiblingIndex(dropTIndex);
                        }
                    }
                }
            }

            //Put drag items before drop target
            else if (e.Action == ItemDropAction.SetPrevSibling) {
                for (int i = 0; i < e.DragItems.Length; ++i) {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    if (dragT.parent != dropT.parent) {
                        dragT.SetParent(dropT.parent, true);
                    }

                    int dropTIndex = dropT.GetSiblingIndex();
                    int dragTIndex = dragT.GetSiblingIndex();
                    if (dropTIndex > dragTIndex) {
                        dragT.SetSiblingIndex(dropTIndex - 1);
                    }
                    else {
                        dragT.SetSiblingIndex(dropTIndex);
                    }
                }
            }
        }
Example #13
0
    private void OnItemDrop(object sender, ItemDropArgs e)
    {
        if (e.DropTarget == null)
        {
            return;
        }

        Transform dropT = ((GameObject)e.DropTarget).transform;

        //Set drag items as children of drop target
        if (e.Action == ItemDropAction.SetLastChild)
        {
            for (int i = 0; i < e.DragItems.Length; ++i)
            {
                Transform dragT = ((GameObject)e.DragItems[i]).transform;
                dragT.SetParent(dropT, true);
                dragT.SetAsLastSibling();
            }
        }

        //Put drag items next to drop target
        else if (e.Action == ItemDropAction.SetNextSibling)
        {
            for (int i = e.DragItems.Length - 1; i >= 0; --i)
            {
                Transform dragT      = ((GameObject)e.DragItems[i]).transform;
                int       dropTIndex = dropT.GetSiblingIndex();
                if (dragT.parent != dropT.parent)
                {
                    dragT.SetParent(dropT.parent, true);
                    dragT.SetSiblingIndex(dropTIndex + 1);
                }
                else
                {
                    int dragTIndex = dragT.GetSiblingIndex();
                    if (dropTIndex < dragTIndex)
                    {
                        dragT.SetSiblingIndex(dropTIndex + 1);
                    }
                    else
                    {
                        dragT.SetSiblingIndex(dropTIndex);
                    }
                }
            }
        }

        //Put drag items before drop target
        else if (e.Action == ItemDropAction.SetPrevSibling)
        {
            for (int i = 0; i < e.DragItems.Length; ++i)
            {
                Transform dragT = ((GameObject)e.DragItems[i]).transform;
                if (dragT.parent != dropT.parent)
                {
                    dragT.SetParent(dropT.parent, true);
                }

                int dropTIndex = dropT.GetSiblingIndex();
                int dragTIndex = dragT.GetSiblingIndex();
                if (dropTIndex > dragTIndex)
                {
                    dragT.SetSiblingIndex(dropTIndex - 1);
                }
                else
                {
                    dragT.SetSiblingIndex(dropTIndex);
                }
            }
        }
    }
Example #14
0
        protected virtual void OnItemDrop(object sender, ItemDropArgs e)
        {
            if (e.IsExternal)
            {
            }
            else
            {
                Transform dropT = ((ExposeToEditor)e.DropTarget).transform;
                if (e.Action == ItemDropAction.SetLastChild)
                {
                    Editor.Undo.BeginRecord();
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        ExposeToEditor exposed = (ExposeToEditor)e.DragItems[i];
                        Transform      dragT   = exposed.transform;
                        dragT.SetParent(dropT, true);
                        dragT.SetAsLastSibling();

                        Editor.Undo.EndRecordTransform(dragT, dropT, dragT.GetSiblingIndex());
                    }
                    Editor.Undo.CreateRecord(null, null, true,
                                             record => RefreshTree(record, true),
                                             record => RefreshTree(record, false));
                    Editor.Undo.EndRecord();
                }
                else if (e.Action == ItemDropAction.SetNextSibling)
                {
                    Editor.Undo.BeginRecord();

                    for (int i = e.DragItems.Length - 1; i >= 0; --i)
                    {
                        ExposeToEditor exposed = (ExposeToEditor)e.DragItems[i];
                        Transform      dragT   = exposed.transform;

                        int dropTIndex = dropT.GetSiblingIndex();
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                            dragT.SetSiblingIndex(dropTIndex + 1);
                        }
                        else
                        {
                            int dragTIndex = dragT.GetSiblingIndex();
                            if (dropTIndex < dragTIndex)
                            {
                                dragT.SetSiblingIndex(dropTIndex + 1);
                            }
                            else
                            {
                                dragT.SetSiblingIndex(dropTIndex);
                            }
                        }
                        Editor.Undo.EndRecordTransform(dragT, dragT.parent, dragT.GetSiblingIndex());
                    }
                    Editor.Undo.CreateRecord(null, null, true,
                                             record => RefreshTree(record, true),
                                             record => RefreshTree(record, false));
                    Editor.Undo.EndRecord();
                }
                else if (e.Action == ItemDropAction.SetPrevSibling)
                {
                    Editor.Undo.BeginRecord();
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        ExposeToEditor exposed = (ExposeToEditor)e.DragItems[i];
                        Transform      dragT   = exposed.transform;
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                        }

                        int dropTIndex = dropT.GetSiblingIndex();
                        int dragTIndex = dragT.GetSiblingIndex();
                        if (dropTIndex > dragTIndex)
                        {
                            dragT.SetSiblingIndex(dropTIndex - 1);
                        }
                        else
                        {
                            dragT.SetSiblingIndex(dropTIndex);
                        }

                        Editor.Undo.EndRecordTransform(dragT, dragT.parent, dragT.GetSiblingIndex());
                    }
                    Editor.Undo.CreateRecord(null, null, true,
                                             record => RefreshTree(record, true),
                                             record => RefreshTree(record, false));
                    Editor.Undo.EndRecord();
                }

                Editor.DragDrop.RaiseDrop(e.PointerEventData);
            }
        }
Example #15
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            Transform dropT = ((GameObject)e.DropTarget).transform;
            if (e.Action == ItemDropAction.SetLastChild)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    dragT.SetParent(dropT, true);
                    dragT.SetAsLastSibling();
                }
            }
            else if (e.Action == ItemDropAction.SetNextSibling)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    if (dragT.parent != dropT.parent)
                    {
                        dragT.SetParent(dropT.parent, true);
                    }

                    int siblingIndex = dropT.GetSiblingIndex();
                    dragT.SetSiblingIndex(siblingIndex + 1);
                }
            }
            else if (e.Action == ItemDropAction.SetPrevSibling)
            {
                for (int i = 0; i < e.DragItems.Length; ++i)
                {
                    Transform dragT = ((GameObject)e.DragItems[i]).transform;
                    if (dragT.parent != dropT.parent)
                    {
                        dragT.SetParent(dropT.parent, true);
                    }

                    int siblingIndex = dropT.GetSiblingIndex();
                    dragT.SetSiblingIndex(siblingIndex);
                }
            }
        }
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            if (e.IsExternal)
            {
            }
            else
            {
                Transform dropT = ((GameObject)e.DropTarget).transform;
                if (e.Action == ItemDropAction.SetLastChild)
                {
                    RuntimeUndo.BeginRecord();
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        Transform dragT = ((GameObject)e.DragItems[i]).transform;
                        dragT.SetParent(dropT, true);
                        dragT.SetAsLastSibling();

                        RuntimeUndo.RecordTransform(dragT, dropT, dragT.GetSiblingIndex());
                        RuntimeUndo.RecordObject(dragT.gameObject, m_treeView.IndexOf(dragT.gameObject), RestoreIndexFromUndoRecord);
                    }
                    RuntimeUndo.EndRecord();
                }
                else if (e.Action == ItemDropAction.SetNextSibling)
                {
                    RuntimeUndo.BeginRecord();
                    for (int i = e.DragItems.Length - 1; i >= 0; --i)
                    {
                        Transform dragT      = ((GameObject)e.DragItems[i]).transform;
                        int       dropTIndex = dropT.GetSiblingIndex();
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                            dragT.SetSiblingIndex(dropTIndex + 1);
                        }
                        else
                        {
                            int dragTIndex = dragT.GetSiblingIndex();
                            if (dropTIndex < dragTIndex)
                            {
                                dragT.SetSiblingIndex(dropTIndex + 1);
                            }
                            else
                            {
                                dragT.SetSiblingIndex(dropTIndex);
                            }
                        }

                        RuntimeUndo.RecordTransform(dragT, dropT.parent, dragT.GetSiblingIndex());
                        RuntimeUndo.RecordObject(dragT.gameObject, m_treeView.IndexOf(dragT.gameObject), RestoreIndexFromUndoRecord);
                    }

                    RuntimeUndo.EndRecord();
                }
                else if (e.Action == ItemDropAction.SetPrevSibling)
                {
                    RuntimeUndo.BeginRecord();
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        Transform dragT = ((GameObject)e.DragItems[i]).transform;
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                        }

                        int dropTIndex = dropT.GetSiblingIndex();
                        int dragTIndex = dragT.GetSiblingIndex();
                        if (dropTIndex > dragTIndex)
                        {
                            dragT.SetSiblingIndex(dropTIndex - 1);
                        }
                        else
                        {
                            dragT.SetSiblingIndex(dropTIndex);
                        }

                        RuntimeUndo.RecordTransform(dragT, dropT.parent, dragT.GetSiblingIndex());
                        RuntimeUndo.RecordObject(dragT.gameObject, m_treeView.IndexOf(dragT.gameObject), RestoreIndexFromUndoRecord);
                    }
                    RuntimeUndo.EndRecord();
                }
            }
        }
Example #17
0
        private void OnItemDrop(object sender, ItemDropArgs e)
        {
            if (e.IsExternal)
            {
                if (e.DragItems != null)
                {
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        GameObject prefab = e.DragItems[i] as GameObject;
                        if (prefab != null)
                        {
                            if (RuntimePrefabs.IsPrefab(prefab.transform))
                            {
                                GameObject     prefabInstance = Instantiate(prefab);
                                ExposeToEditor exposeToEditor = prefabInstance.GetComponent <ExposeToEditor>();
                                if (exposeToEditor != null)
                                {
                                    exposeToEditor.SetName(prefab.name);
                                }
                                prefabInstance.transform.position   = prefab.transform.position;
                                prefabInstance.transform.rotation   = prefab.transform.rotation;
                                prefabInstance.transform.localScale = prefab.transform.localScale;
                                RuntimeSelection.activeGameObject   = prefabInstance;
                            }
                        }
                    }
                }
            }
            else
            {
                Transform dropT = ((GameObject)e.DropTarget).transform;
                if (e.Action == ItemDropAction.SetLastChild)
                {
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        Transform dragT = ((GameObject)e.DragItems[i]).transform;
                        dragT.SetParent(dropT, true);
                        dragT.SetAsLastSibling();
                    }
                }
                else if (e.Action == ItemDropAction.SetNextSibling)
                {
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        Transform dragT = ((GameObject)e.DragItems[i]).transform;
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                        }

                        int siblingIndex = dropT.GetSiblingIndex();
                        dragT.SetSiblingIndex(siblingIndex + 1);
                    }
                }
                else if (e.Action == ItemDropAction.SetPrevSibling)
                {
                    for (int i = 0; i < e.DragItems.Length; ++i)
                    {
                        Transform dragT = ((GameObject)e.DragItems[i]).transform;
                        if (dragT.parent != dropT.parent)
                        {
                            dragT.SetParent(dropT.parent, true);
                        }

                        int siblingIndex = dropT.GetSiblingIndex();
                        dragT.SetSiblingIndex(siblingIndex);
                    }
                }
            }
        }
Example #18
0
 private void OnItemDrop(object sender, ItemDropArgs e)
 {
     Editor.DragDrop.RaiseDrop(e.PointerEventData);
 }
Example #19
0
 public ListDropCommand(ItemDropArgs _args)
 {
     this.target = (ObjectCtrl)_args.DropTarget;
     this.action = _args.Action;
     this.infos  = ((IEnumerable <object>)_args.DragItems).Select <object, ListDropCommand.Info>((Func <object, ListDropCommand.Info>)(v => new ListDropCommand.Info((ObjectCtrl)v))).ToArray <ListDropCommand.Info>();
 }