logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenityHubCatalogGridBuilder

    Shared rendering for a category-filtered grid of SerenityHubToolCards — Create, Browse, and Advanced differ only by which catalog category they render (spec §1: no view hardcodes its own tool list), so the filter + grid-building logic lives here once instead of being duplicated three times.

    Since UX feedback round 4, the result is no longer one flat grid — entries are split into collapsible Foldout sections by SerenityHubCatalogGrouper so a 30+ item view stays scannable. SerenityHubValidateView groups into its own fixed Validators/Tools split instead, but reuses BuildSection(string, IReadOnlyList<VisualElement>) for the identical Foldout chrome.

    Inheritance
    object
    SerenityHubCatalogGridBuilder
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Localization.Installation.Settings.Editor.Hub.Views
    Assembly: Serenity.UnityLocalization.Installation.Editor.dll
    Syntax
    public static class SerenityHubCatalogGridBuilder

    Methods

    BuildGrid(IReadOnlyList<SerenityHubToolEntry>, SerenityHubContext)

    Builds one Foldout section per SerenityHubCatalogGrouper group, each containing a card grid for that group's entries.

    Declaration
    public static VisualElement BuildGrid(IReadOnlyList<SerenityHubToolEntry> entries, SerenityHubContext context)
    Parameters
    Type Name Description
    IReadOnlyList<SerenityHubToolEntry> entries
    SerenityHubContext context
    Returns
    Type Description
    VisualElement

    BuildSection(string, IReadOnlyList<VisualElement>)

    Builds one titled, default-expanded Foldout section wrapping cardRoots in a card grid. Public so SerenityHubValidateView can render its own Validators/Tools split with the same chrome instead of duplicating the Foldout-plus-grid construction.

    Declaration
    public static VisualElement BuildSection(string title, IReadOnlyList<VisualElement> cardRoots)
    Parameters
    Type Name Description
    string title
    IReadOnlyList<VisualElement> cardRoots
    Returns
    Type Description
    VisualElement

    FilterByCategory(IReadOnlyList<SerenityHubToolEntry>, SerenityHubCategory)

    Returns every catalog entry belonging to category, in catalog order.

    Declaration
    public static IReadOnlyList<SerenityHubToolEntry> FilterByCategory(IReadOnlyList<SerenityHubToolEntry> catalogEntries, SerenityHubCategory category)
    Parameters
    Type Name Description
    IReadOnlyList<SerenityHubToolEntry> catalogEntries
    SerenityHubCategory category
    Returns
    Type Description
    IReadOnlyList<SerenityHubToolEntry>
    In this article
    © 2026 Serenity. All Rights Reserved