UnityEditor.TreeViewTest.BackendData.ReparentSelection C# (CSharp) Method

ReparentSelection() public method

public ReparentSelection ( System.Foo parentItem, System.Foo insertAfterItem, List draggedItems ) : void
parentItem System.Foo
insertAfterItem System.Foo
draggedItems List
return void
            public void ReparentSelection(Foo parentItem, Foo insertAfterItem, List<Foo> draggedItems)
            {
                foreach (Foo foo in draggedItems)
                {
                    foo.parent.children.Remove(foo);
                    foo.parent = parentItem;
                }
                if (!parentItem.hasChildren)
                {
                    parentItem.children = new List<Foo>();
                }
                List<Foo> list = new List<Foo>(parentItem.children);
                int index = 0;
                if (parentItem == insertAfterItem)
                {
                    index = 0;
                }
                else
                {
                    int num2 = parentItem.children.IndexOf(insertAfterItem);
                    if (num2 >= 0)
                    {
                        index = num2 + 1;
                    }
                    else
                    {
                        Debug.LogError("Did not find insertAfterItem, should be a child of parentItem!!");
                    }
                }
                list.InsertRange(index, draggedItems);
                parentItem.children = list;
            }