logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementsStudioListGui

    Draws the Studio's master list: one selectable row per achievement, carrying the badges that let a hidden, progressive, code-unlocked or storefront-mirrored achievement be told apart without opening it.

    Inheritance
    object
    AchievementsStudioListGui
    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.Studio
    Assembly: Serenity.UnityAchievements.Infrastructure.Editor.dll
    Syntax
    public static class AchievementsStudioListGui
    Remarks

    Every row is a Serenity.Global.Infrastructure.Editor.SerenityListRowGui row drawn with foldable: false, which is the shape that shared row exists for: a master list beside a detail pane wants the whole row to be a selection target, not a foldout competing with the click. Nothing here computes geometry — the badges that do not fit a narrow window are dropped by ListRowLayout, which is where that arithmetic can be asserted.

    Fields

    ClearFiltersLabel

    The recovery button offered when the search and filter hid everything.

    Declaration
    public const string ClearFiltersLabel = "Clear filters"
    Field Value
    Type Description
    string

    JudgementFailedBadgeLabel

    The only badge a row carries when nothing about its achievement could be read.

    Declaration
    public const string JudgementFailedBadgeLabel = "Failed to judge"
    Field Value
    Type Description
    string

    NoAchievementsMessage

    What the list says when the project has no achievements at all.

    Declaration
    public const string NoAchievementsMessage = "This project has no achievement assets yet. Use New to author the first one."
    Field Value
    Type Description
    string

    NoMatchesMessage

    What the list says when nothing survived the search and the filter.

    Declaration
    public const string NoMatchesMessage = "No achievement matches the current search and filter."
    Field Value
    Type Description
    string

    Methods

    BadgesOf(AchievementsStudioRowModel)

    The badges one row carries, in the order they are given up when the window narrows.

    Declaration
    public static IReadOnlyList<SerenityListRowGui.Badge> BadgesOf(AchievementsStudioRowModel row)
    Parameters
    Type Name Description
    AchievementsStudioRowModel row

    The row to describe.

    Returns
    Type Description
    IReadOnlyList<SerenityListRowGui.Badge>

    Its badges.

    Remarks

    Ordered by how much each one changes what the author does with the achievement: what it awards, then how it behaves, then where it is mirrored. ListRowLayout drops badges from the right, so the storefront letters are the first to go and the points are the last.

    ColorOf(AchievementsStudioPlatformCoverage)

    The tint a storefront letter carries: bright when the achievement is mirrored there, a warning when the project ships there and this achievement names no identifier, and muted for an identifier left behind by a storefront the project no longer assigns.

    Declaration
    public static Color ColorOf(AchievementsStudioPlatformCoverage coverage)
    Parameters
    Type Name Description
    AchievementsStudioPlatformCoverage coverage

    How the storefront is covered.

    Returns
    Type Description
    Color

    The badge colour.

    Draw(IReadOnlyList<AchievementsStudioRowModel>, string, bool)

    Draws every listed row and reports what was clicked.

    Declaration
    public static AchievementsStudioListGui.Result Draw(IReadOnlyList<AchievementsStudioRowModel> rows, string selectedGuid, bool hasAnyAchievement)
    Parameters
    Type Name Description
    IReadOnlyList<AchievementsStudioRowModel> rows

    The rows to list, already narrowed by the toolbar. May be null.

    string selectedGuid

    The GUID currently selected, drawn as the selected row.

    bool hasAnyAchievement

    Whether the project has achievements at all, which decides which empty state an empty list shows: nothing authored yet, or nothing matching.

    Returns
    Type Description
    AchievementsStudioListGui.Result

    What the author did.

    In this article
    © 2026 Serenity. All Rights Reserved