Class UnityMenuSettingsDefinitionEditor
Custom Unity Editor implementation for UnityMenuSettingsDefinition ScriptableObject assets.
Provides a comprehensive Inspector interface for configuring menu settings including options, alignment, positioning, and UI element properties.
Features reorderable lists, dropdown selectors, and real-time validation for menu configuration management.
Namespace: Serenity.Menu.Infrastructure.Settings.Editor
Assembly: Serenity.UnityMenu.Infrastructure.Editor.dll
Syntax
public class UnityMenuSettingsDefinitionEditor : FoundationEditor<UnityMenuSettingsDefinition>
Constructors
UnityMenuSettingsDefinitionEditor()
Declaration
public UnityMenuSettingsDefinitionEditor()
Fields
NO_OPTIONS_AVAILABLE_MESSAGE
Declaration
protected const string NO_OPTIONS_AVAILABLE_MESSAGE = "No options available"
Field Value
| Type | Description |
|---|---|
| string |
Methods
DrawSerializedFields()
Renders the custom Inspector GUI for UnityMenuSettingsDefinition with organized sections for menu configuration.
Displays editable fields for menu ID, options gap, positioning, alignment settings, and a reorderable list of UI options.
Includes real-time validation and provides intuitive controls for comprehensive menu setup and customization.
Declaration
protected override void DrawSerializedFields()
OnEnable()
Initializes the editor when the Inspector becomes active, setting up UI option lists.
Configures the reorderable list for menu options and validates property availability for editor functionality.
Declaration
public override void OnEnable()
OnInspectorGUI()
Declaration
public override void OnInspectorGUI()
RenderDirectionHandler(UnityMenuSettingsDefinition)
Renders the direction handler section in the Inspector interface.
Provides an enum popup for selecting whether options are laid out Vertical or Horizontal.
Declaration
public void RenderDirectionHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the direction value to edit. |
RenderHorizontalWidthHandler(UnityMenuSettingsDefinition)
Renders the horizontal option-width controls, shown only when the menu Direction is Horizontal.
Exposes the width mode and, when the mode is EXPLICIT, the explicit option-width value.
Declaration
public void RenderHorizontalWidthHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the horizontal width configuration to edit. |
RenderOptionAlignmentHandler(UnityMenuSettingsDefinition)
Renders the option alignment handler section in the Inspector interface.
Provides an enum popup for selecting how individual options should be aligned within the menu.
Declaration
public void RenderOptionAlignmentHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the option alignment value to edit. |
RenderOptionsGapHandler(UnityMenuSettingsDefinition)
Renders the options gap handler section in the Inspector interface.
Provides a labeled float field for configuring the spacing between menu options.
Declaration
public void RenderOptionsGapHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the options gap value to edit. |
RenderOptionsHandler(UnityMenuSettingsDefinition)
Renders the UI options section of the inspector with a reorderable list for managing menu UI elements.
Displays the options list interface allowing users to add, remove, and configure individual menu options.
Includes list controls for comprehensive menu option management and organization.
Declaration
public void RenderOptionsHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | The menu settings definition containing the options to be rendered and edited. |
RenderScrollingHandler(UnityMenuSettingsDefinition)
Renders the scrolling section in the Inspector interface: the inherited Scrollable toggle, the axis it scrolls along, and the number of options visible at once. Shows a warning when scrolling is enabled without a meaningful visible-options count, since the menu would never clamp.
Declaration
public void RenderScrollingHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the scrolling configuration to edit. |
RenderViewAlignmentHandler(UnityMenuSettingsDefinition)
Renders the view alignment handler section in the Inspector interface.
Provides an enum popup for selecting the view's alignment type (anchor positioning).
Declaration
public void RenderViewAlignmentHandler(UnityMenuSettingsDefinition menuSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityMenuSettingsDefinition | menuSettings | Menu settings definition containing the view alignment value to edit. |