logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementManifestExportReport

    What one manifest export produced: the text to write, how many achievements reached it, and which ones did not and why.

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

    The skipped achievements are the reason this is a report rather than a string. A per-storefront sheet only carries the achievements that name an identifier for that storefront and are fit to publish, so an export can silently be half the project — and "37 rows, 12 skipped, here is which and why" is the difference between an author noticing that and uploading it.

    Constructors

    AchievementManifestExportReport(string, int, IReadOnlyList<AchievementManifestSkip>)

    Creates a report.

    Declaration
    public AchievementManifestExportReport(string text, int exportedCount, IReadOnlyList<AchievementManifestSkip> skippedRows)
    Parameters
    Type Name Description
    string text

    The manifest text.

    int exportedCount

    How many achievements are in it.

    IReadOnlyList<AchievementManifestSkip> skippedRows

    The achievements left out, and why. May be null.

    Fields

    AuthoringErrorsReason

    Why an achievement the authoring rules reject was left out.

    Declaration
    public const string AuthoringErrorsReason = "authoring errors"
    Field Value
    Type Description
    string

    MissingIdPlaceholder

    What a skipped achievement is called when it has no id to be called by.

    Declaration
    public const string MissingIdPlaceholder = "(no id)"
    Field Value
    Type Description
    string

    NoIdentifierReason

    Why an achievement that names no identifier for the storefront was left out.

    Declaration
    public const string NoIdentifierReason = "no identifier for this storefront"
    Field Value
    Type Description
    string

    NoTrophyGradeReason

    Why an achievement with no trophy tier was left out of a PlayStation manifest.

    Declaration
    public const string NoTrophyGradeReason = "no trophy grade"
    Field Value
    Type Description
    string

    Properties

    ExportedCount

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

    How many achievements the manifest carries.

    HasSkippedAchievements

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

    Whether any achievement was left out.

    SkippedRows

    Declaration
    public IReadOnlyList<AchievementManifestSkip> SkippedRows { get; }
    Property Value
    Type Description
    IReadOnlyList<AchievementManifestSkip>

    The achievements the export left out, in the order they were skipped.

    Text

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

    The manifest text, ready to be written to a file.

    Methods

    Describe()

    Says what the export did, in one sentence an author can read in a status line.

    Declaration
    public string Describe()
    Returns
    Type Description
    string

    The sentence.

    Remarks

    Grouped by reason rather than listed one per line, because an author reading a status line wants to know which of the three fixes to go and make, and a flat list of forty ids says nothing at all.

    SkippedIds()

    The ids of the achievements left out, without their reasons.

    Declaration
    public IReadOnlyList<string> SkippedIds()
    Returns
    Type Description
    IReadOnlyList<string>

    The ids, in the order they were skipped.

    In this article
    © 2026 Serenity. All Rights Reserved