logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class EffectiveSettingsSet

    The set of settings a COLLECTION-cardinality system installs from, stated once so the runtime lookup and the editor's own boot-scene check cannot drift: what the composition root PINS is the whole set when it pins anything at all, and label discovery answers only for a field left empty.

    A pinned list is taken exactly as authored — nothing added, nothing removed. An author pins a subset precisely to exclude shipped members they do not want installed, so folding discovery back in would silently reinstate them. Leaving a field EMPTY is how a project asks for everything by label, and that branch already prefers an adopted twin over the origin it was cloned from (WithoutShadowedTwins<T>(IReadOnlyList<T>, Func<T, string>, out IReadOnlyList<string>), applied by the discovery loader).

    Engine-agnostic and Unity-free.

    Inheritance
    object
    EffectiveSettingsSet
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Global.Application.References
    Assembly: Serenity.Global.Application.dll
    Syntax
    public static class EffectiveSettingsSet

    Methods

    Resolve<T>(IReadOnlyList<T>, Func<IReadOnlyList<T>>)

    Resolves the effective set.

    Declaration
    public static IReadOnlyList<T> Resolve<T>(IReadOnlyList<T> pinned, Func<IReadOnlyList<T>> discover) where T : class
    Parameters
    Type Name Description
    IReadOnlyList<T> pinned

    What the composition root pins; null or empty when nothing is pinned.

    Func<IReadOnlyList<T>> discover

    Label discovery, invoked ONLY when nothing is pinned — a pinned field must not pay for a catalog load, and must not be influenced by what such a load would have found.

    Returns
    Type Description
    IReadOnlyList<T>

    The pinned members when there are any, otherwise whatever discovery answered; never null.

    Type Parameters
    Name Description
    T

    The candidate settings type.

    In this article
    © 2026 Serenity. All Rights Reserved