logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Menu.Infrastructure.Cascade.Definitions

    Classes

    CascadeMenuDefinition

    Base ScriptableObject for a typed cascade-menu node. Holds the shared authoring data (title key + the per-level cascade offset) and implements ICascadeMenuNode so a CascadeMenuBuilder can turn the authored tree into live pages at runtime. Concrete kinds (command, dynamic list, target) derive from this.

    DynamicCascadeMenu

    A menu whose entries are resolved at runtime from a named source (the magic/ability list, the inventory, …). The chosen entry is remembered under Serenity.Menu.Infrastructure.Cascade.Definitions.DynamicCascadeMenu._selectionKey, then the menu either descends into a sub-menu (typically a target selector) or resolves immediately.

    OptionsCascadeMenu

    A cascade page whose options are authored inline: a fixed list of OptionsCascadeMenu.OptionDefinitions (e.g. a main menu, or a yes/no-style decision). Each option optionally sets a pending action id, then either descends into a sub-menu (Next) or resolves immediately. Options can be gated by a condition. Contrast with DynamicCascadeMenu (options resolved from a runtime source) and TargetCascadeMenu (multi-column target selection).

    OptionsCascadeMenu.OptionDefinition

    One inline-authored option of an OptionsCascadeMenu.

    TargetCascadeMenu

    A terminal multi-column target selector: each authored column pulls its entries from a runtime source (e.g. "targets.enemies", "targets.party"), and all columns are shown side-by-side and navigable. Picking an entry resolves the pending command against that target. Serenity.Menu.Infrastructure.Cascade.Definitions.TargetCascadeMenu._defaultColumn chooses the column the cursor starts on (Enemies for an attack, Party for an item).

    TargetCascadeMenu.TargetColumnDef

    UnityCascadeViewDefinition

    A view definition that renders a ScriptableObject-authored cascade menu. It is a first-class transition target: a menu option with ValueType = TRANSITION and Value = this view's Id shows it through the IViewRouter, exactly like a composite view. The Root node (a CascadeMenuDefinition) describes the cascade structure; the renderer fields below tune its FF8-style cascading layout.

    In this article
    © 2026 Serenity. All Rights Reserved