Class CreateAchievementSettingsWindow
Step-by-step window for authoring a project's achievements configuration: the UnityAchievementSettings asset, its structured backend, one definition per storefront, the optional on-screen listing, and the boot task that installs the module. 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 and what the primary action does. AchievementSettingsCreator owns every rule and every asset mutation.
Namespace: Serenity.Achievements.Infrastructure.Editor.Builder
Assembly: Serenity.UnityAchievements.Infrastructure.Editor.dll
Syntax
public sealed class CreateAchievementSettingsWindow : SerenityStepWizardWindow<CreateAchievementSettingsWindow.WizardStep>
Remarks
Two deliberate shape decisions a reader will otherwise re-litigate.
No step ever sets Serenity.Global.Infrastructure.Editor.WizardStepDescriptor`1.IsSkipped. Serenity.Global.Infrastructure.Editor.SerenityWizardGui.DrawBreadcrumb(System.String[],System.Boolean[],System.String[],Serenity.Global.Infrastructure.Editor.SerenityWizardStepController) makes a skipped step unclickable, and the two steps that could plausibly be skipped — View and Storefronts — are exactly the ones a reader navigates back to in order to switch their toggle on. A greyed-out chip would put the toggle out of reach of the control meant to reach it, so every step stays live and collapses its own body instead.
The boot task is wired by Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui, not by the creator. The section owns
the per-profile checkboxes and insertion positions and exposes no way to read them back, so feeding
TargetProfiles as well would either ignore those choices or
apply them twice. WireInstallTask therefore stays off and
Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.TryEnsurePendingTask(System.Action{System.String},System.Boolean) runs right after a successful create — the same
arrangement CreateScoreSettingsWindow and CreateLeaderboardWindow ship.
Constructors
CreateAchievementSettingsWindow()
Declaration
public CreateAchievementSettingsWindow()
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<CreateAchievementSettingsWindow.WizardStep>[] BuildSteps()
Returns
| Type | Description |
|---|---|
| WizardStepDescriptor<WizardStep>[] |
OnFinishedRunPrimaryAction()
A finished run's "Create Another": Achievements is edited in place by Id (see Serenity.Achievements.Infrastructure.Editor.Builder.CreateAchievementSettingsWindow.DrawIdentityFindings), so another run here means "go review the same configuration again", not a second distinct settings asset.
Declaration
protected override void OnFinishedRunPrimaryAction()
OnPrimaryAction()
Declaration
protected override void OnPrimaryAction()
Open()
Opens the achievements wizard.
Declaration
public static void Open()