Namespace Serenity.Achievements.Infrastructure.Editor.Sync
Classes
AchievementSyncApplyRequest
Everything Apply(AchievementSyncApplyRequest) needs to turn a plan's accepted Pull-direction
changes into project assets: the plan and selection an AchievementSyncPlanner run and a
review window produced, the authored definitions the plan's MatchedBoth items resolve against,
and the platform context a fresh PlatformOnly creation needs.
AchievementSyncApplyStepGui
The wizard's Apply step. For Pull, a preview of the accepted changes (run automatically on entering
the step, through AchievementSyncAssetWriter with previewOnly: true), then the
real apply report once the author confirms. For Push, a preview of the ordered
AchievementPushWorkItems the session's AchievementPushPlanExecutor run
produced, then the connector's own AchievementPushOutcome once the author confirms —
see DrawPush(AchievementSyncWizardSession).
AchievementSyncAssetWriter
Applies — or previews applying — the ACCEPTED Pull-direction changes of an AchievementSyncPlan to the project's authored achievement assets and string tables.
AchievementSyncConnectStepGui
The wizard's sign-in step for a connector whose capabilities require one — Steam's partner-site achievement editor today. Composes the sections top to bottom so the author never wonders what to do next: the app id, how changes reach Steam, how to sign in (a QR code by default, pasted cookies as the fallback) and the connection status. A section shows only once the one above it is satisfied, and the step never advances on its own: the author presses Next after "Signed in".
AchievementSyncConnectorCatalog
Which storefronts the Achievement Platform Sync wizard can build a live connector for, and how to build one.
AchievementSyncConnectorSourceContext
What one Achievement Platform Sync window supplies to the IAchievementSyncConnectorSourceProviders that build its connector sources.
AchievementSyncCopilotStepGui
The wizard's Apply step when TransportMode is Copilot: one achievement at a time, one field at a time, each with a Copy button and a done-checkbox — the manual-fallback walkthrough that keeps a Valve breakage a slowdown rather than an outage.
AchievementSyncDoneStepGui
The wizard's Done step: what the run just produced (created/updated assets on a Pull, saved achievements on a Push, or a recorded Copilot walkthrough) and the follow-up actions available from there. Extracted from AchievementSyncWindow — the same collaborator split that type already uses for every other step.
AchievementSyncLocalSnapshotSource
Turns the project's authored UnityAchievementDefinition assets into the neutral wire form a sync connector pushes to a storefront.
AchievementSyncLocalSnapshotSource.Options
The values one snapshot build is configured with, named rather than positional.
AchievementSyncPlanFilter
Narrows an AchievementSyncPlan's items to what the Review step's chip bar and search box ask for, and counts how many items belong to each chip.
AchievementSyncReviewStepGui
The wizard's Review step: every plan item on the left via Serenity.Global.Infrastructure.Editor.SerenityMasterDetailGui, the selected item's field-by-field diff on the right, filter chips and bulk accept/reject controls above both.
AchievementSyncScopeStepGui
The wizard's second step: narrows what the pull compares against the project — which locales, which string table collection, where a freshly created achievement lands, and whether to back up first.
AchievementSyncServices
The collaborators one Achievement Platform Sync window works through, composed once: the editor session state the sign-in survives a reload in, the wire-trace settings, the connector catalog and the session lifecycle built on them, and the QR sign-in client and token minter that come from the sign-in factory. CreateForEditor() is the composition edge that supplies the real session state and the connector source providers found by type; everything below it receives what it needs through a constructor.
AchievementSyncStorefrontStepGui
The wizard's first step: pick a connector to sync with. Draws one card per AchievementPlatformKind — active and clickable when IsWired(AchievementPlatformKind) answers true for it, disabled with a "not wired yet" note otherwise — plus the always-available Snapshot file card, which owns its own file picker, storefront-kind popup, and Pull action rather than a live connector for one specific storefront.
AchievementSyncWindow
The Achievement Platform Sync wizard: pulls an AchievementStorefrontSnapshot from a connector, diffs it against the project's authored achievements, and lets an author review and apply the changes in either direction. The Scope step's direction cards stay capability-driven — the Pull flow works with any connector, the sign-in-free FileAchievementDefinitionSyncConnector included, while the Push flow lights up only for a connector whose capabilities report it can, Steam's cookie-based Steam connector today.
AchievementSyncWizardSession
Everything the Achievement Platform Sync wizard carries across its steps: which connector was chosen, the scope an author narrowed the sync to, the fetched snapshot, the computed plan, and the accept/reject state a review builds up before an apply.
AchievementSyncWizardSteps
Pure step-availability model for AchievementSyncWizardSession: which steps this run
shows, and whether the wizard may advance out of the current one. No IMGUI, no window state — mirrors
the shape of AchievementWizardSummary's pure describe/judge split for the Achievement Settings
wizard.
FileAchievementDefinitionSyncConnector
A sync connector backed by a JSON file on disk instead of a live storefront API — the only connector this PR ships, and a permanent import path afterwards.
Structs
AchievementSyncApplyStepGui.PushResult
What the author did on this pass; the window owns logging the switch, since this type has no activity log of its own.
AchievementSyncConnectStepGui.Result
What the author did or needs this pass; the window owns starting and ticking the sign-in and the connection check.
AchievementSyncCopilotStepGui.Result
What the author asked for this pass; the window owns the actual file export and its logging.
AchievementSyncStorefrontStepGui.Result
What the author did this pass; the window owns actually starting the pull.
Interfaces
IAchievementSyncConnectorSource
Where the Achievement Platform Sync wizard gets the live connector for one storefront.
IAchievementSyncConnectorSourceProvider
How a storefront plugs its connector into the Achievement Platform Sync wizard: the editor finds every implementation by type and asks it for its IAchievementSyncConnectorSource.
IAchievementSyncIconSource
Where AchievementSyncAssetWriter gets the image of an icon the author accepted while a pull is applied.
Enums
AchievementSyncPlanFilterKind
Which plan items the Review step's chip bar is currently narrowed to.
AchievementSyncWizardStep
The Achievement Platform Sync wizard's steps.