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.
Inherited Members
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. |