logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class 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.

    Inheritance
    object
    AchievementSyncWizardSteps
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Achievements.Infrastructure.Editor.Sync
    Assembly: Serenity.UnityAchievements.Infrastructure.Editor.dll
    Syntax
    public static class AchievementSyncWizardSteps

    Fields

    NoSnapshotPushOverwritesNotice

    The notice a Push shows instead of NoSnapshotToDiffAgainstNotice when nothing was pulled: with no snapshot to keep the storefront's own texts from, the push writes what the project holds over whatever the storefront holds.

    Declaration
    public const string NoSnapshotPushOverwritesNotice = "No snapshot was pulled from the storefront, so every achievement is shown as new and a push will overwrite whatever the storefront holds for it: names and descriptions in every language, and the hidden flag. Pull a snapshot first unless overwriting is what you want."
    Field Value
    Type Description
    string

    NoSnapshotToDiffAgainstNotice

    The notice the Review, Apply, and Copilot steps all render when HasNoSnapshotToDiffAgainst is set — shared here so the three call sites can never drift into three different wordings for the same warning.

    Declaration
    public const string NoSnapshotToDiffAgainstNotice = "No snapshot was pulled from the storefront — every achievement is shown as new because there is nothing to diff against."
    Field Value
    Type Description
    string

    PushSendsEveryLanguageNotice

    What a push sends per achievement, stated where the author confirms it.

    Declaration
    public const string PushSendsEveryLanguageNotice = "A save sends the achievement's full set of languages: the text you accepted for the locales in scope, and the text the storefront already holds for every other language, so nothing outside this push is lost. A locale you leave untouched keeps the storefront's text."
    Field Value
    Type Description
    string

    Methods

    CanAdvanceFrom(AchievementSyncWizardStep, AchievementSyncWizardSession)

    Whether the wizard may leave step and move forward.

    Declaration
    public static string CanAdvanceFrom(AchievementSyncWizardStep step, AchievementSyncWizardSession session)
    Parameters
    Type Name Description
    AchievementSyncWizardStep step

    The step the wizard is currently showing.

    AchievementSyncWizardSession session

    The session to judge readiness from.

    Returns
    Type Description
    string

    Empty when the wizard may advance; otherwise the message to show the author.

    CanJumpTo(int, int, AchievementSyncWizardSession)

    Whether the wizard's breadcrumb may jump from fromIndex to toIndex.

    Declaration
    public static string CanJumpTo(int fromIndex, int toIndex, AchievementSyncWizardSession session)
    Parameters
    Type Name Description
    int fromIndex

    The step index the wizard is currently on.

    int toIndex

    The step index the breadcrumb was clicked for.

    AchievementSyncWizardSession session

    The session to judge readiness from.

    Returns
    Type Description
    string

    Empty when the jump is allowed; otherwise the first blocking step's message.

    Remarks

    A backward jump (or staying put) is always free — looking at an earlier step never risks showing stale or invalid data. A forward jump has to walk every step index it would skip past and refuse the moment one of them still blocks, exactly as if the wizard had pressed Next through each of them in turn: jumping straight from Storefront to Review must not bypass Review's own conflict gate, and jumping to Apply must not bypass Review's either.

    IsDirectionLockedToPush(AchievementSyncWizardSession)

    Whether this session's Push direction is locked to Push and cannot be changed to Pull — true whenever TransportMode is Copilot: a Copilot walkthrough pastes changes by hand, one at a time, so pulling by hand makes no sense — the file connector already covers import.

    Declaration
    public static bool IsDirectionLockedToPush(AchievementSyncWizardSession session)
    Parameters
    Type Name Description
    AchievementSyncWizardSession session

    The session to judge. Null is treated as "not locked".

    Returns
    Type Description
    bool

    IsSkipped(AchievementSyncWizardStep, AchievementSyncWizardSession)

    Whether step should be treated as skipped for this session: shown in the breadcrumb as a muted, already-resolved slot instead of a step the author has to act on.

    Declaration
    public static bool IsSkipped(AchievementSyncWizardStep step, AchievementSyncWizardSession session)
    Parameters
    Type Name Description
    AchievementSyncWizardStep step

    The step to judge.

    AchievementSyncWizardSession session

    The session to judge it against. Null is treated as "skip".

    Returns
    Type Description
    bool
    Remarks

    Only Connect is ever skippable, and only when no connector is chosen yet or the chosen one's capabilities do not require an interactive sign-in.

    StepsFor(AchievementSyncWizardSession)

    The steps this session's run shows, in order — the same fixed set for every run. Connect stays in the set even when IsSkipped(AchievementSyncWizardStep, AchievementSyncWizardSession) answers true for it; the window is the one that walks over it during navigation instead of rendering it.

    Declaration
    public static AchievementSyncWizardStep[] StepsFor(AchievementSyncWizardSession session)
    Parameters
    Type Name Description
    AchievementSyncWizardSession session

    The session, reserved for a future run whose step set genuinely varies.

    Returns
    Type Description
    AchievementSyncWizardStep[]

    The steps, in display order.

    In this article
    © 2026 Serenity. All Rights Reserved