GetChildrenCount(in HierarchyNode)
Gets the number of child nodes that a hierarchy node has.
Read time 1 minuteLast updated 13 days ago
Definition
- Type: Method
- Namespace: Unity.Hierarchy
- Assembly: UnityEngine.HierarchyCoreModule
GetChildrenCount(HierarchyNode)
public int GetChildrenCount(in HierarchyNode node)
Parameters
The hierarchy node.
Returns
Type | Description |
|---|---|
| int | The number of children. |
Remarks
The following example displays how many children each collapsed item has in the Hierarchy window. It uses to check whether a collapsed item has children before displaying the label. 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.
GetChildrenCountAssets/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; } } }}