logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenityInstallableSystemSelection

    The set of SerenityInstallableSystem a wizard's user has opted into, tracked by InstallMethodName so it survives a domain reload as serialized window state. A system that InstallsAtBootstrap is always reported selected, regardless of what this selection explicitly holds, and a selected system's own DependsOn closure is never allowed to fall out of the selection while something else still needs it (see Select(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>) and CanDeselect(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>)).

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

    Constructors

    SerenityInstallableSystemSelection()

    Declaration
    public SerenityInstallableSystemSelection()

    Methods

    CanDeselect(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>)

    False when system installs at bootstrap (never individually deselectable), or some other currently selected system's transitive DependsOn closure still requires it — see RequiredBy(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>) for the systems responsible.

    Declaration
    public bool CanDeselect(SerenityInstallableSystem system, IReadOnlyList<SerenityInstallableSystem> catalog)
    Parameters
    Type Name Description
    SerenityInstallableSystem system
    IReadOnlyList<SerenityInstallableSystem> catalog
    Returns
    Type Description
    bool

    Clear()

    Clears the selection entirely. A system that installs at bootstrap still reports selected afterwards — see IsSelected(SerenityInstallableSystem).

    Declaration
    public void Clear()

    IsSelected(SerenityInstallableSystem)

    True when system is currently selected, or it installs at bootstrap (which is always considered selected, independent of the underlying explicit selection).

    Declaration
    public bool IsSelected(SerenityInstallableSystem system)
    Parameters
    Type Name Description
    SerenityInstallableSystem system
    Returns
    Type Description
    bool

    RequiredBy(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>)

    Every currently selected system, other than system itself, whose transitive DependsOn closure includes it.

    Declaration
    public IReadOnlyList<SerenityInstallableSystem> RequiredBy(SerenityInstallableSystem system, IReadOnlyList<SerenityInstallableSystem> catalog)
    Parameters
    Type Name Description
    SerenityInstallableSystem system
    IReadOnlyList<SerenityInstallableSystem> catalog
    Returns
    Type Description
    IReadOnlyList<SerenityInstallableSystem>

    Select(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>)

    Selects system together with every system in its transitive DependsOn closure, resolved against catalog — a system can never be selected without what it requires.

    Declaration
    public void Select(SerenityInstallableSystem system, IReadOnlyList<SerenityInstallableSystem> catalog)
    Parameters
    Type Name Description
    SerenityInstallableSystem system
    IReadOnlyList<SerenityInstallableSystem> catalog

    SelectAll(IReadOnlyList<SerenityInstallableSystem>)

    Selects every system in catalog, replacing the current selection.

    Declaration
    public void SelectAll(IReadOnlyList<SerenityInstallableSystem> catalog)
    Parameters
    Type Name Description
    IReadOnlyList<SerenityInstallableSystem> catalog

    SelectTier(IReadOnlyList<SerenityInstallableSystem>, SerenityInstallableSystemTier)

    Replaces the current selection with every system in catalog whose Tier is tier, together with each of their transitive dependency closures — the "Foundation only" reset and the window's default selection both call this with Foundation.

    Declaration
    public void SelectTier(IReadOnlyList<SerenityInstallableSystem> catalog, SerenityInstallableSystemTier tier)
    Parameters
    Type Name Description
    IReadOnlyList<SerenityInstallableSystem> catalog
    SerenityInstallableSystemTier tier

    SelectedIn(IReadOnlyList<SerenityInstallableSystem>)

    Every system in catalog that is currently selected, in catalog order.

    Declaration
    public IReadOnlyList<SerenityInstallableSystem> SelectedIn(IReadOnlyList<SerenityInstallableSystem> catalog)
    Parameters
    Type Name Description
    IReadOnlyList<SerenityInstallableSystem> catalog
    Returns
    Type Description
    IReadOnlyList<SerenityInstallableSystem>

    Toggle(SerenityInstallableSystem)

    Flips system's selection: selected becomes unselected and vice versa. A no-op for a bootstrap system, which is never individually selectable. Does not cascade to dependencies or dependents — prefer Select(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>) when turning a system on, and check CanDeselect(SerenityInstallableSystem, IReadOnlyList<SerenityInstallableSystem>) before turning one off.

    Declaration
    public void Toggle(SerenityInstallableSystem system)
    Parameters
    Type Name Description
    SerenityInstallableSystem system
    In this article
    © 2026 Serenity. All Rights Reserved