Namespace Serenity.Menu.Infrastructure.Services
Classes
CompositeViewServiceResolver
Lazily resolves (and caches) the composite-view service from the runtime service locator. The composite-view service is created after the menu module (menus install before composites), so it may be unavailable on the first calls; this keeps retrying until it resolves, then caches it. The single owner of that retry rule — the menu controller and the menu view both resolve through this instead of each re-implementing it.
UnityMenuLazyBuildContext
Shared, per-install build inputs reused to construct any LazyOnFirstOpen menu view on first show.
Stored once on the menu service so per-menu UnityMenuLazyRegistration entries stay minimal
and large shared data is not duplicated per lazy menu. The theme is the one captured at install time —
runtime theme switching is out of scope.
UnityMenuLazyRegistration
Minimal per-menu data required to build a LazyOnFirstOpen menu's Unity view on first show.
Holds only the menu-specific inputs (id, definition, eagerly-created view-model); shared build inputs
live once on UnityMenuLazyBuildContext. Intentionally stores no built view reference —
the view does not exist until the menu is first shown.
UnityMenuService
Unity MonoBehaviour implementation of IMenuService that manages menu view display and navigation.
Handles the lifecycle and state management of Unity-based menu views throughout the application.