Class BaseBoolField
A BaseBoolField is a clickable element that represents a boolean value.
Inheritance
Inherited Members
Namespace: UnityEngine.UIElements
Syntax
public abstract class BaseBoolField : BaseField<bool>, IEventHandler, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IResolvedStyle, IBindable, INotifyValueChanged<bool>, IMixedValueSupport
Constructors
BaseBoolField(String)
Creates a BaseBoolField with a Label and a default manipulator.
Declaration
public BaseBoolField(string label)
Parameters
Type | Name | Description |
---|---|---|
String | label | The Label text. |
Remarks
The default manipulator makes it possible to activate the BaseBoolField with a left mouse click.
Fields
m_CheckMark
Declaration
protected readonly VisualElement m_CheckMark
Field Value
Type | Description |
---|---|
VisualElement |
m_Label
Declaration
protected Label m_Label
Field Value
Type | Description |
---|---|
Label |
Properties
text
Optional text that appears after the BaseBoolField.
Declaration
public string text { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
Unity creates a Label automatically if one does not exist.
Methods
InitLabel()
Initializes the Label element whenever the text property changes.
Declaration
protected virtual void InitLabel()
Remarks
Override this method to modify the Label after its creation. You must call the base implementation of this method before trying to access to m_Label property in your own implementation.
SetValueWithoutNotify(Boolean)
Sets the value of the BaseBoolField, but does not notify the rest of the hierarchy of the change.
Declaration
public override void SetValueWithoutNotify(bool newValue)
Parameters
Type | Name | Description |
---|---|---|
Boolean | newValue |
Overrides
Remarks
This method is useful when you want to change the control's value without triggering events. For example, you can use it when you initialize UI to avoid triggering unnecessary events, and to prevent situations where changing the value of one control triggers an event that tries to update another control that hasn't been initialized, and may not exist yet.
This method is also useful for preventing circular updates. Let's say you link two controls so they always have the same value. When a user changes the value of the first control, it fires an event to update the value of the second control. If you update the second control's value "normally," as though a user changed it, it will fire another event to update the first control's value, which will fire an event to update the second control's value again, and so on. If one control update's the other's value using SetValueWithoutNotify, the update does not trigger an event, which prevents the circular update loop.
ToggleValue()
Inverts the
Declaration
protected virtual void ToggleValue()
Remarks
Override this method to change the logic of toggling the value in your subclass.
UpdateMixedValueContent()
Declaration
protected override void UpdateMixedValueContent()