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
Swaps to "Create Another" once the run has succeeded — this wizard ends on Summary rather than on a Done panel, so the terminal state is the only thing that distinguishes "not written yet" from "written, review it again".
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>[] |
OnPrimaryAction()
Declaration
protected override void OnPrimaryAction()
Open()
Opens the achievements wizard.
Declaration
public static void Open()