logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Menu.Application.Validation

    Classes

    MenuDefinitionScanner

    The single set of rules for whether an authored menu will actually work: an id that is present and not already taken by another menu, options that are present and each individually well-formed, and a layout configuration whose numbers cannot silently produce nothing. Mirrors Serenity.GameUi.Application.Validation.HudDefinitionScanner's shape: a nested MenuDefinitionScanner.Sections vocabulary, a scan over the raw authored fields so a wizard can call it before an asset exists, and one finding per rule violated rather than a single pass/fail.

    MenuDefinitionScanner.Sections

    The groups a finding can belong to, in the menu's own vocabulary.

    UiOptionRules

    Canonical, engine-agnostic UI-option validity rules: which UiComponentInteractionTypes are allowed for a given UiComponentValueType, whether an option's serialized bindings (GameSettings id/guid, action guid, transition target) are internally consistent, whether a GameSettings value type is compatible with a UI value type, and duplicate-option-id detection. Previously this ruleset existed only in editor code (UnityMenuOptionEditorState) and was independently re-implemented at runtime (UnityMenuOptionRuntimeSafety) and in the options-list inspector (UiOptionListInspectorGUI.AreMachingTypes) -- meaning a recipe-created invalid option was never caught outside the editor inspector. Editor, runtime, and inspector code should all delegate here so the rule is defined exactly once.

    In this article
    © 2026 Serenity. All Rights Reserved