DoesNotHaveFlags
Gets whether or not all of the specified flags are not set on any hierarchy node.
Read time 2 minutesLast updated 14 days ago
Definition
- Type: Method
- Namespace: Unity.Hierarchy
- Assembly: UnityEngine.HierarchyCoreModule
DoesNotHaveFlags(HierarchyNodeFlags)
Gets whether or not all of the specified flags are not set on any hierarchy node.
public bool DoesNotHaveFlags(HierarchyNodeFlags flags)
Parameters
The hierarchy node flags.
Returns
Type | Description |
|---|---|
| bool | |
DoesNotHaveFlags(HierarchyNode, HierarchyNodeFlags)
Gets whether or not all of the specified flags are not set on the hierarchy node.
public bool DoesNotHaveFlags(in HierarchyNode node, HierarchyNodeFlags flags)
Parameters
Returns
Type | Description |
|---|---|
| bool | |
Remarks
The following example displays how many children each collapsed item has in the Hierarchy window. It uses to check whether a node is collapsed and has children before adding the label to the left of the item name. 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.
DoesNotHaveFlagsAssets/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; } } }}