Class MenuValidationSnapshot
One ValidateWithDraftIssues(Input) pass: the batch-wide
Serenity.Global.Infrastructure.Editor.SerenityCreationValidationResult every other creation engine already returns, plus that same
scan's own per-draft breakdown — one entry per Drafts position, in the same
order. Exists so MenuManagerWindow can compute the whole batch's findings exactly ONCE per
OnGUI and still hand each draft its own slice to Serenity.Menu.Infrastructure.Editor.Builder.ViewNodeListGui and
Serenity.Menu.Infrastructure.Editor.Builder.MenuDraftDetailGui, instead of either re-scanning the whole project a second (or
once-per-row) time through a per-draft call of its own.
Serenity.Menu.Infrastructure.Editor.Builder.MenuValidationSnapshot.GraphIssues and Serenity.Menu.Infrastructure.Editor.Builder.MenuValidationSnapshot.Rows extend the same "compute once per frame" contract to the
Menus step's navigation graph: MenuManagerWindow builds them alongside Result
and IssuesByDraft in its own OnBeforeDrawStep, so both live on this one snapshot
instead of a second per-frame cache. A snapshot built by ValidateWithDraftIssues(Input)
alone — outside the wizard, e.g. a headless validator — carries neither: both default to empty.
Inherited Members
Namespace: Serenity.Menu.Infrastructure.Editor.Builder
Assembly: Serenity.UnityMenu.Infrastructure.Editor.dll
Syntax
public sealed class MenuValidationSnapshot
Constructors
MenuValidationSnapshot(SerenityCreationValidationResult, IReadOnlyList<IReadOnlyList<AuthoringIssue>>)
Declaration
public MenuValidationSnapshot(SerenityCreationValidationResult result, IReadOnlyList<IReadOnlyList<AuthoringIssue>> issuesByDraft)
Parameters
| Type | Name | Description |
|---|---|---|
| SerenityCreationValidationResult | result | |
| IReadOnlyList<IReadOnlyList<AuthoringIssue>> | issuesByDraft |
Fields
IssuesByDraft
This draft's own findings, indexed exactly like the Drafts list the snapshot was computed from.
Declaration
public readonly IReadOnlyList<IReadOnlyList<AuthoringIssue>> IssuesByDraft
Field Value
| Type | Description |
|---|---|
| IReadOnlyList<IReadOnlyList<AuthoringIssue>> |
Result
The batch-wide result — the same one Validate(Input) returns.
Declaration
public readonly SerenityCreationValidationResult Result
Field Value
| Type | Description |
|---|---|
| SerenityCreationValidationResult |