logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class MenuManagerWindow

    Step-by-step window that manages every view reachable from the main menu, plus the project-wide menu service settings singleton they depend on. Mirrors CreateHudWindow's information design (a master list beside a detail pane, live validation cached once per frame, a Preview control under the breadcrumb) generalized to a batch of separate assets rather than one asset's own element array — each MenuDraft is its own scratch UnityMenuSettingsDefinition, so the list is a plain List<T> rather than a UnityEditor.SerializedProperty array. The window only collects input and renders results; MenuCreator does every asset mutation.

    The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate, and the select-and-ping a finished run ends with — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table, the preview launcher it draws under the breadcrumb, and what the primary action does.

    Inheritance
    object
    MenuManagerWindow
    Namespace: Serenity.Menu.Infrastructure.Editor.Builder
    Assembly: Serenity.UnityMenu.Infrastructure.Editor.dll
    Syntax
    public sealed class MenuManagerWindow : SerenityStepWizardWindow<MenuManagerWindow.WizardStep>

    Constructors

    MenuManagerWindow()

    Declaration
    public MenuManagerWindow()

    Properties

    PrimaryButtonLabel

    Declaration
    protected override string PrimaryButtonLabel { get; }
    Property Value
    Type Description
    string

    WindowTitle

    Declaration
    protected override string WindowTitle { get; }
    Property Value
    Type Description
    string

    Methods

    BuildSteps()

    Declaration
    protected override WizardStepDescriptor<MenuManagerWindow.WizardStep>[] BuildSteps()
    Returns
    Type Description
    WizardStepDescriptor<WizardStep>[]

    DrawUnderBreadcrumb()

    The Preview control belongs under the breadcrumb and outside the body scroll, so it stays reachable from every step rather than scrolling away with the step it was drawn in.

    Declaration
    protected override void DrawUnderBreadcrumb()

    OnBeforeDrawStep()

    Adopts a target the Settings step picked and left in the same frame, re-points every sibling transition target at its target's live id, then takes this frame's validation snapshot — all before anything reads a step error, so the breadcrumb's own gate check sees this frame's result, and so the scan runs exactly once per repaint (see CreateHudWindow's identical rationale). The re-point has to happen before the first Serenity.Menu.Infrastructure.Editor.Builder.MenuDraftDetailGui.Draw(Serenity.Menu.Infrastructure.Editor.Builder.MenuDraft,System.Collections.Generic.IReadOnlyList{Serenity.Shared.Authoring.AuthoringIssue},System.Action,Serenity.Menu.Infrastructure.Editor.Builder.AuthoringFindingsGui.SeverityFilter@) of the frame, whose own Update() would otherwise discard it.

    Declaration
    protected override void OnBeforeDrawStep()

    OnPrimaryAction()

    Declaration
    protected override void OnPrimaryAction()

    Open()

    Declaration
    public static void Open()
    In this article
    © 2026 Serenity. All Rights Reserved