logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

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

    Inheritance
    object
    AchievementSyncPlanItem
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.Achievements.Application.Sync
    Assembly: Serenity.Achievements.Application.dll
    Syntax
    public sealed class AchievementSyncPlanItem

    Constructors

    AchievementSyncPlanItem(Fields)

    Creates a plan item.

    Declaration
    public AchievementSyncPlanItem(AchievementSyncPlanItem.Fields fields)
    Parameters
    Type Name Description
    AchievementSyncPlanItem.Fields fields

    The values to build it from.

    Exceptions
    Type Condition
    ArgumentNullException

    When no fields were given.

    Properties

    ApiName

    Declaration
    public string ApiName { get; }
    Property Value
    Type Description
    string

    The platform-side identity key, or empty when the authored record named none.

    ConflictReasons

    Declaration
    public IReadOnlyList<string> ConflictReasons { get; }
    Property Value
    Type Description
    IReadOnlyList<string>

    Why this achievement could not be matched or diffed, or empty when it was.

    FieldChanges

    Declaration
    public IReadOnlyList<AchievementSyncFieldChange> FieldChanges { get; }
    Property Value
    Type Description
    IReadOnlyList<AchievementSyncFieldChange>

    Every field the planner compared for this achievement.

    HasConflicts

    Declaration
    public bool HasConflicts { get; }
    Property Value
    Type Description
    bool

    Whether this achievement could not be matched or diffed at all.

    InformationalReason

    Declaration
    public string InformationalReason { get; }
    Property Value
    Type Description
    string

    Why this item carries no field changes despite not being a conflict, or empty when it has field changes (or is a conflict, whose own ConflictReasons already explain it).

    LocalId

    Declaration
    public string LocalId { get; }
    Property Value
    Type Description
    string

    The Serenity achievement id, or empty for a row that only exists on the platform.

    Match

    Declaration
    public AchievementSyncMatch Match { get; }
    Property Value
    Type Description
    AchievementSyncMatch

    How this item's sides paired up.

    OfferedChangeCount

    Declaration
    public int OfferedChangeCount { get; }
    Property Value
    Type Description
    int

    How many changes of this achievement are only offered, to be taken one at a time.

    PendingChangeCount

    Declaration
    public int PendingChangeCount { get; }
    Property Value
    Type Description
    int

    How many field changes an accept-all review would apply for this achievement.

    In this article
    © 2026 Serenity. All Rights Reserved