Class CreateGameModeSettingsWindow
Step-by-step window for creating or updating a UnityGameModeSettingsDefinition in one run. The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does. The window only collects input and renders results, GameModeSettingsCreator does the actual validation and generation work.
Namespace: Serenity.GameMode.Installation.Editor.Builder
Assembly: Serenity.UnityGameMode.Installation.Editor.dll
Syntax
public sealed class CreateGameModeSettingsWindow : SerenityStepWizardWindow<CreateGameModeSettingsWindow.WizardStep>
Constructors
CreateGameModeSettingsWindow()
Declaration
public CreateGameModeSettingsWindow()
Properties
PrimaryButtonLabel
Re-read every repaint off Serenity.GameMode.Installation.Editor.Builder.CreateGameModeSettingsWindow._cachedSettingsAlreadyExists, so the button says "Update" the moment the typed Id resolves to an asset that already exists.
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<CreateGameModeSettingsWindow.WizardStep>[] BuildSteps()
Returns
| Type | Description |
|---|---|
| WizardStepDescriptor<WizardStep>[] |
OnPrimaryAction()
Lands on Done through the ungated Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.PingAndGoTo(System.String,`0,System.Boolean) rather than Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.FinishWithAsset(System.String,`0): this window never installed a step-error gate, so its old jump to Done was ungated in practice, and it never latched a terminal run — its Done panel offers no "Create Another" to clear one again. Re-running against the Id just written is an update-in-place, not a collision, so the content steps' gate can stay live.
Declaration
protected override void OnPrimaryAction()
Open()
Declaration
public static void Open()