Namespace Serenity.Menu.Infrastructure.Views.Factories
Classes
UnityMenuAnchorUtils
Utility class providing anchor and pivot calculations for menu positioning.
Centralizes alignment-to-anchor mappings used across menu building operations.
UnityMenuBackgroundBuilder
Builder responsible for creating and configuring the menu background element.
Handles background instantiation, sizing to cover child bounds, and padding configuration.
UnityMenuBuildContext
Context object that encapsulates all parameters required for building a Unity menu view.
Reduces parameter passing across builder methods by grouping related configuration into a single object.
UnityMenuComponentCreator
Responsible for creating individual UI components (slider, toggle, selector, dropdown, input, submit).
Delegates interaction callbacks to the selection, option value, and submit services.
UnityMenuLayoutBuilder
Builder responsible for menu area calculation, alignment, and layout operations.
Manages option sizing, menu alignment with border margins, and width adaptation.
UnityMenuMeasurementUtils
Utility class providing measurement helpers for menu UI elements.
Handles prefab dimension lookups, text rendering width calculations, and content bounds measurement.
UnityMenuOptionBuildContext
Context object that encapsulates option-specific data required during menu option building.
Groups option parameters to reduce method signature complexity in option creation flow.
UnityMenuOptionValidationService
Service responsible for validating menu options before rendering.
Ensures option IDs are unique and that game settings exist for options that require them.
UnityMenuOptionValueService
Service responsible for setting and shifting option values in the menu system.
Manages value validation against min/max constraints and persists changes to game settings.
UnityMenuOptionsBuilder
Builder responsible for creating, configuring, and initializing all menu option UI components.
Manages the option rendering pipeline including validation, component creation, and initialization.
UnityMenuRootBuilder
Builder responsible for creating and configuring the root menu view structure.
Handles view GameObject creation, component setup, initialization, and options wrapper configuration.
UnityMenuSelectionService
Service responsible for managing option selection, navigation, and dragging behavior in menu views.
Handles component focus, next/previous navigation, and drag start/end lifecycle.
UnityMenuSubmitService
Service responsible for handling submit, input submit, transition, and action operations on menu options.
Manages option signal dispatching and menu navigation workflows.
UnityMenuThemeSoundFactory
Factory utility for creating theme sound instances from theme definitions.
Converts theme sound definitions into concrete AudioPlayerClip instances for UI audio feedback.
UnityMenuTitleBuilder
Builder responsible for rendering and configuring the menu title element.
Handles title instantiation, text configuration, alignment, and gap application.
UnityMenuViewFactory
Lightweight orchestrator factory for creating Unity-specific menu views.
Delegates responsibilities to specialized builders, services, and component creators.
UnityMenuViewInstanceFactory
Default IUnityMenuViewInstanceFactory implementation.
Wraps the existing IMenuViewFactory and reproduces, verbatim, the per-menu visual
construction sequence that previously lived inline in UnityMenuInstaller.InstallViews:
create the view, then call ExecuteHideMenu().
No options, view-models, presenter, or service-initialization concerns are handled here.
Interfaces
IUnityMenuViewInstanceFactory
Unity/Infrastructure-side abstraction that wraps the per-menu visual construction step:
it creates the Unity menu view through IMenuViewFactory and applies the initial
hide, returning the hidden view.
This is a thin extraction of the construction sequence that previously lived inline in the
installer's view-creation loop. It deliberately does NOT create UI options, normalize options,
read game settings, build fallback options, create view-models, register presenters, initialize
the menu service, or make any lifecycle/instantiation policy decisions.