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.