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. Never a gameplay module: a settings consumer reads Descriptors only.

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

    Invalidate()

    Forces the next Descriptors, Serenity.CreateGame.Infrastructure.Editor.Systems.SerenityInstallableSystemCatalog.GameplayModules or Serenity.CreateGame.Infrastructure.Editor.Systems.SerenityInstallableSystemCatalog.BootTaskDescriptors access to rescan the AppDomain. Test seam.

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