Namespace Serenity.Achievements.Infrastructure.Editor.Builder
Classes
AchievementAuthoringPaths
Where each asset an achievements creation run authors ends up, derived from one AchievementSettingsCreator.Input.
AchievementDefinitionCreator
Writes, copies, edits and removes one authored achievement — the four things the Achievements Studio's New, Duplicate, Delete and detail pane do, with every UnityEditor.AssetDatabase call on this side of the seam so the window stays pure presentation and the whole flow is testable without IMGUI.
AchievementDefinitionCreator.DeleteResult
Outcome of a Delete(UnityAchievementDefinition) call.
AchievementDefinitionCreator.Input
Everything one authored achievement is made of, plus where it lands.
AchievementDefinitionCreator.Result
Outcome of a Create(Input), Duplicate(UnityAchievementDefinition, string, string, bool) or Update(UnityAchievementDefinition, Input) call.
AchievementDefinitionValidator
Answers whether an AchievementDefinitionCreator.Input can be written, and says why not when it cannot. Reached through Validate(Input) and ValidateIdentity(string, string) — this type is where the rules live, those are the API every window and test calls.
AchievementModuleWiring
The two steps that connect an authored achievements configuration to the rest of the project: giving every theme an achievements panel, and making the module install itself at boot.
AchievementModuleWiring.InstallTaskOutcome
What wiring the boot task ended up doing.
AchievementModuleWiring.ThemeRetrofitSummary
What a batch retrofit changed, flattened off AchievementsThemeRetrofitter.RetrofitReport.
AchievementOptionsAuthoring
How the module behaves once it is installed: who a player is, what an unlock does besides being recorded, and how hard the module tries to reach a storefront.
AchievementPlatformAssetAuthoring
Validates and writes the UnityAchievementPlatformDefinition assets a creation run enables. Split out of AchievementSettingsCreator because it answers a different question: the creator decides what the module's configuration is, this decides what one storefront needs to be reachable.
AchievementPlatformFields
The per-storefront values a creation run carries, one small group per kind.
AchievementSettingsCreator
Generates (or updates) a project's achievements configuration from a single description: the
UnityAchievementSettings asset, its structured backend, one platform definition per
storefront the project ships on, and optionally the UnityAchievementsViewDefinition that
lists the achievements on screen. Mirrors
Serenity.GameSave.Infrastructure.Editor.Builder.GameSaveCreator: static class, Input/Result DTOs,
ValidateIdentity(Input)/Validate(Input), and a Create(Input, Action) whose every mutation is
rolled back on failure.
AchievementSettingsCreator.Input
Everything needed to author a project's achievements configuration.
AchievementSettingsCreator.Result
Outcome of a Create(Input, Action) call.
AchievementSettingsValidator
Answers whether an AchievementSettingsCreator.Input can be written, and says why not when it cannot. Reached through Validate(Input) and ValidateIdentity(Input) — this type is where the rules live, those are the API every window and test calls.
AchievementViewAuthoring
The optional on-screen listing: whether a UnityAchievementsViewDefinition is authored alongside the settings, and what it says.
AchievementWizardOptionsStepGui
The behaviour step of CreateAchievementSettingsWindow: the ten AchievementOptionsAuthoring values, grouped the way an author thinks about them — who a player is, what an unlock does, and how hard the module tries to reach a storefront.
AchievementWizardPlatformSelection
Which storefronts CreateAchievementSettingsWindow's platforms step has switched on, as one flag per AchievementPlatformKind plus the ordered list the creator wants.
AchievementWizardPlatformStepGui
The storefront step of CreateAchievementSettingsWindow: a row of chips that switch the storefronts on, and — under each switched-on chip — only that storefront's own fields.
AchievementWizardResultPanelGui
What CreateAchievementSettingsWindow's review step shows once a run has succeeded: the assets it put on disk, what the theme retrofit changed, and the two places a reader goes next.
AchievementWizardSummary
Turns an AchievementSettingsCreator.Input into the plain-English "this is what will happen" lines CreateAchievementSettingsWindow's review step prints.
AchievementWizardViewDefaults
Decides what CreateAchievementSettingsWindow's "Create view" toggle starts out as, given the view id the run would author and what is already on disk at that path.
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.
EpicPlatformFields
Everything Epic Online Services needs from an asset — see UnityEpicAchievementPlatformDefinition.
PlayStationPlatformFields
Everything PlayStation needs from an asset — see UnityPlayStationAchievementPlatformDefinition.
SteamPlatformFields
Everything Steam needs from an asset — see UnitySteamAchievementPlatformDefinition.
XboxPlatformFields
Everything Xbox needs from an asset — see UnityXboxAchievementPlatformDefinition.
Structs
AchievementWizardSummary.ProjectState
What the project already holds at the paths this run targets, resolved once by the caller.
Enums
CreateAchievementSettingsWindow.WizardStep
Public rather than private because C# requires a class's base type to be at least as accessible as the class itself, and this enum is that base type's argument.