LeftCustomContainer
Gets the left-aligned VisualElement container to the right of the HierarchyViewItem.Name.
Read time 1 minuteLast updated 11 days ago
Definition
- Type: Property
- Namespace: Unity.Hierarchy
- Assembly: UnityEngine.HierarchyModule
public VisualElement LeftCustomContainer { get; }
Remarks
The following example displays how many children each collapsed item has in the Hierarchy window. It uses to host a that shows the number of child nodes in parentheses next to any collapsed item. To use this example, save the script in a folder called . Scripts in an folder can use the Hierarchy module API without additional setup. If you save the script outside of an folder, you must enable the Hierarchy built-in module in the Package Manager window, which also adds the module to your Player builds.
LeftCustomContainerLabelAssets/Editor/CountWhenCollapsedEditorEditorExamples
using Unity.Hierarchy;using Unity.Hierarchy.Editor;using UnityEditor;using UnityEngine.UIElements;namespace Unity.HierarchySamples.Editor{ class CountWhenCollapsed { const string k_ChildrenCountUssClassName = "hierarchy-children-count"; [InitializeOnLoadMethod] static void Initialize() { HierarchyWindow.BindViewItem += OnBindViewItem; } static void OnBindViewItem(HierarchyWindow window, HierarchyView view, HierarchyViewItem item) { HierarchyNode node = item.Node; int childrenCount = view.ViewModel.GetChildrenCount(node); Label label = item.LeftCustomContainer.Q<Label>(className: k_ChildrenCountUssClassName); if (childrenCount > 0 && view.ViewModel.DoesNotHaveFlags(node, HierarchyNodeFlags.Expanded)) { if (label == null) { label = new Label(); label.AddToClassList(k_ChildrenCountUssClassName); item.LeftCustomContainer.Add(label); } label.text = $"({childrenCount})"; label.style.display = DisplayStyle.Flex; } else { if (label != null) label.style.display = DisplayStyle.None; } } }}