logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Achievements.Application.Sync

    Classes

    AchievementCopilotScript

    Pure builder that turns a Push-direction AchievementSyncPlan and its accepted AchievementSyncReviewSelection into the manual walkthrough a Copilot-mode run hands an author instead of sending a real push.

    AchievementIconDownload

    What a connector brought back when asked to download one storefront icon: the image bytes, already checked to be an image, or why nothing was brought back.

    AchievementIconImageLimits

    The size a pulled icon may declare, judged from its header before anything decodes it: the one rule the download check and the file writer both ask, so a small file that declares enormous dimensions never reaches a decoder.

    AchievementIconPayload

    One achievement icon in neutral wire form: the PNG bytes a push sends, or the identifying information a pull reads back without downloading the image itself.

    AchievementPushBatch

    The achievements and locales one push sends to a connector, in the order they were given.

    AchievementPushGuard

    What a push checks before it sends anything, because the storefront checks nothing: it accepts a name with spaces, a name another achievement already has, and a save for a name it lists twice.

    AchievementPushOutcome

    What a push produced: which achievements the platform accepted, and what went wrong.

    AchievementPushPlanExecutor

    Pure sequencer that turns a Push-direction AchievementSyncPlan and its accepted AchievementSyncReviewSelection into the ordered list of work a push actually sends.

    AchievementPushTextBaseline

    Builds the record a push saves for an achievement that already exists on the platform: the platform's own texts as the baseline, with the authored text laid over it only for the locales in scope.

    AchievementPushWorkItem

    One unit of work a push sends to a storefront: either an achievement's metadata, or one of its icons.

    AchievementPushWorkItem.Fields

    The values one work item is built from, named rather than positional.

    AchievementStorefrontIcon

    An icon a storefront holds for one achievement, named by a reference only the connector that produced it can make sense of, so a pull can offer to bring it in without downloading anything while it plans.

    AchievementStorefrontSnapshot

    Everything one pull read back from a storefront's achievement list at one point in time.

    AchievementStorefrontSnapshotJson

    Encodes and decodes an AchievementStorefrontSnapshot as JSON, in the same hand-rolled idiom StructuredWireJson uses for the structured-store wire DTOs: a StringBuilder plus JsonStringEscaper for writing, JsonValue for reading. Nothing here touches Unity — this is the wire/file shape a IAchievementDefinitionSyncConnector reads and writes, and doubles as a permanent, headless-testable import/export format independent of which storefront (or file) a snapshot came from.

    AchievementSyncApplyAction

    One recorded outcome for one field change or creation.

    AchievementSyncApplyMessage

    One recorded report message.

    AchievementSyncApplyReport

    Accumulates the actions and messages an AchievementSyncAssetWriter records applying — or previewing — a sync plan's accepted changes, and renders a readable summary. The pull-side mirror of Serenity.ProjectRecipe.Infrastructure.Editor.Reporting.SerenityRecipeReport: one report shape shared by a dry-run preview and a real apply.

    AchievementSyncCapabilities

    What one connector can and cannot do, as the editor UI it drives needs to know before offering an action.

    AchievementSyncCapabilities.Fields

    The values one capabilities set is built from, named rather than positional.

    AchievementSyncConnectionCheck

    The result of asking a connector whether it can currently reach its platform.

    AchievementSyncFieldChange

    One field's comparison result between an authored achievement and its platform counterpart, for one locale when the field is localized.

    AchievementSyncFieldChange.Fields

    The values one field change is built from, named rather than positional.

    AchievementSyncKeyCollisions

    The achievements of one pull that would file their text under the same localization key, so that neither is created or moved into the string table until the author gives them ids whose keys differ.

    AchievementSyncLocaleNotices

    The plain statements a push owes an author about which languages travel: the project's languages the storefront has no counterpart for, and the achievement that holds its text literally and so sends one.

    AchievementSyncMissingLocale

    A language the storefront holds achievement text in that the project's string table collection has no table for, so a pull cannot file that text until the author adds the language — and, when the project has no locale for it either (under the storefront's code or an alias of it), the locale too.

    AchievementSyncPlan

    The whole result of one AchievementSyncPlanner run: every achievement it compared, in the order the review UI renders them, and the counts that UI's summary bar reads without re-walking the item list itself.

    AchievementSyncPlanItem

    One achievement's place in a sync plan: how it matched across authored and platform data, every field change the planner found for it, and why it could not be diffed at all when it could not.

    AchievementSyncPlanItem.Fields

    The values one plan item is built from, named rather than positional.

    AchievementSyncPlanOptions

    What the project, rather than the storefront, tells AchievementSyncPlanner about a pull: the locale the authored text is written in, whether the project can take translations into a string table, and which languages its string table collection already has a table for.

    AchievementSyncPlanner

    Pure diff engine between an authored achievement set and one platform snapshot: the single policy every sync review window builds its rows from, mirroring the set-algebra shape of AchievementReconciler one layer up, for definitions instead of unlock state.

    AchievementSyncProgress

    One step of a push, reported through IProgress<AchievementSyncProgress>.

    AchievementSyncPulledTextNotices

    What a pull says about a pulled text that holds characters a game's text pipeline may interpret. A pulled text is filed exactly as the storefront has it; this only points out the characters that Smart Format or rich text could read as markup, so the author decides knowingly.

    AchievementSyncPushLocaleScope

    Decides which locales a push covers. A push whose author ticked no locale covers every locale the project authors text in — never none, which would send an achievement with no text at all.

    AchievementSyncRecord

    One achievement in the neutral wire form the sync system pushes to and pulls from a storefront.

    AchievementSyncRecord.Fields

    The values one record is built from, named rather than positional.

    AchievementSyncReviewSelection

    Which field changes of a sync plan an author has accepted to apply, tracked independently of the plan itself so a review window can re-plan (for example after a pull refresh) without losing selections that still make sense.

    CopilotAchievementScript

    One achievement's Copilot walkthrough: its field-by-field paste instructions and its icon uploads.

    CopilotAchievementScript.Fields

    The values one achievement's script is built from, named rather than positional.

    CopilotFieldInstruction

    One field a Copilot walkthrough asks the author to paste by hand, platform-neutral: which field, which locale (if any), and the value to paste. A storefront adapter's presenter turns this into the label and hint an author actually reads.

    CopilotIconInstruction

    One icon a Copilot walkthrough asks the author to upload by hand: which achievement, which icon, the same bytes a push would have sent, and the file name a Copilot bundle export suggests for it.

    CopilotWalkthroughProgress

    Which fields and icons of a Copilot walkthrough an author has already marked done by hand.

    LocalizedTextSet

    An immutable set of localized strings for one achievement field, keyed by locale code (for example "en", "es-AR").

    Structs

    AchievementSyncExistingAchievement

    An achievement the project already holds, as far as localization keys go: its id, and the keys its text is actually filed under when those are not simply the ones its id derives.

    AchievementSyncKeyOwner

    An achievement whose text a pull is about to file under the keys its local id gives it: a new one the pull creates, or an existing one the pull moves into the string table.

    Enums

    AchievementIconRequirement

    Which icons a platform requires before it will accept a pushed achievement.

    AchievementPushWorkItemKind

    What one push work item does when it runs.

    AchievementSyncApplyOutcome

    What one action an AchievementSyncApplyReport writer took (or previewed taking) resolved to.

    AchievementSyncApplySeverity

    Severity of an AchievementSyncApplyReport message, ordered from least to most severe.

    AchievementSyncApplyTarget

    Which kind of project data one apply action wrote, or would write, to.

    AchievementSyncChangeKind

    What one field comparison in a sync plan resolved to.

    AchievementSyncDirection

    The direction one field's value travels between Serenity and a storefront.

    AchievementSyncFieldKind

    The individual fields of an achievement definition that a sync connector may be able to push or pull, one value per field a storefront's editor UI can offer a checkbox for.

    AchievementSyncMatch

    How one plan item's authored and platform sides paired up by ApiName.

    AchievementSyncTransportMode

    How a Push-direction sync run actually delivers its accepted changes to the storefront.

    CopilotIconKind

    Which of an achievement's two icons a CopilotIconInstruction is for.

    In this article
    © 2026 Serenity. All Rights Reserved