logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenityInstallableSystemCatalog

    Discovers every SerenityInstallableSystemAttribute-decorated Install*() method across every loaded Serenity.* assembly, without a compile-time reference to Serenity.Installation (the attribute is a self-contained data holder resolved by reflection only), then orders them by their declared DependsOn prerequisites so a system never precedes anything it requires. Cached after the first scan; call Invalidate() to force a rescan, e.g. after a domain reload a test suite triggers deliberately.

    Inheritance
    object
    SerenityInstallableSystemCatalog
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.CreateGame.Infrastructure.Editor.Systems
    Assembly: Serenity.UnityCreateGame.Infrastructure.Editor.dll
    Syntax
    public static class SerenityInstallableSystemCatalog

    Properties

    Descriptors

    Every installable system declared anywhere in the loaded Serenity.* assemblies, in dependency order (a system never precedes a prerequisite named in its own DependsOn); among systems that are simultaneously ready, ties break by Tier then DisplayName (ordinal).

    Declaration
    public static IReadOnlyList<SerenityInstallableSystem> Descriptors { get; }
    Property Value
    Type Description
    IReadOnlyList<SerenityInstallableSystem>

    DescriptorsByTier

    Descriptors grouped by Tier, one group per tier that has at least one system, in tier order. Within a group, systems keep the dependency order they have in Descriptors.

    Declaration
    public static IReadOnlyList<IGrouping<SerenityInstallableSystemTier, SerenityInstallableSystem>> DescriptorsByTier { get; }
    Property Value
    Type Description
    IReadOnlyList<IGrouping<SerenityInstallableSystemTier, SerenityInstallableSystem>>

    Methods

    FindByInstallMethodName(string)

    The descriptor whose InstallMethodName is installMethodName, or null when no attributed system carries that name.

    Declaration
    public static SerenityInstallableSystem FindByInstallMethodName(string installMethodName)
    Parameters
    Type Name Description
    string installMethodName
    Returns
    Type Description
    SerenityInstallableSystem

    Invalidate()

    Forces the next Descriptors access to rescan the AppDomain. Test seam.

    Declaration
    public static void Invalidate()
    In this article
    © 2026 Serenity. All Rights Reserved