Пример #1
0
        void RecreateRootItems()
        {
            foreach (var child in m_TreeViewRootItems)
            {
                ((IPoolable)child).ReturnToPool();
            }

            m_TreeViewRootItems.Clear();

            EntityHierarchyPool.ReturnAllVisualElements(this);

            if (m_Hierarchy?.Strategy == null)
            {
                return;
            }

            using (var rootNodes = m_Hierarchy.Strategy.GetChildren(EntityHierarchyNodeId.Root, Allocator.TempJob))
            {
                foreach (var node in rootNodes)
                {
                    m_TreeViewRootItems.Add(EntityHierarchyPool.GetTreeViewItem(null, node, m_Hierarchy));
                }
            }
        }
 void IPoolable.ReturnToPool() => EntityHierarchyPool.ReturnVisualElement(this);
Пример #3
0
 VisualElement OnMakeItem() => EntityHierarchyPool.GetVisualElement(this);