logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CascadeMenuRenderer

    Renders a CascadeMenuModel as FF8-style cascading panels: every open level is drawn at a configurable offset from its parent (DefaultOffset, overridable per page), with only the top level interactable and deeper-but-not-top levels dimmed as a breadcrumb. Multi-column pages draw their columns side-by-side (target selection shows Enemies + Party at once).

    Each column is the active theme's CascadeViewTemplate panel (a UnityCascadePanel) filled with the theme's submittable option components, so the cascade matches the theme and focus uses each component's native highlight. When the theme has no cascade template the renderer falls back to a procedural panel. Supports keyboard/gamepad (Tick()) and mouse (hover focuses, click submits).

    Inheritance
    object
    CascadeMenuRenderer
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.Menu.Infrastructure.Cascade
    Assembly: Serenity.UnityMenu.Infrastructure.dll
    Syntax
    public sealed class CascadeMenuRenderer
    Remarks

    Intentionally Unity-only: this is pure uGUI/TMP rendering plumbing (instantiates GameObjects, drives layout components, polls the new Input System) consumed only by UnityCascadeMenuView in this same folder. No Business port for v1 — a non-Unity port reimplements the renderer against its own scene/control APIs rather than porting an abstraction over this class.

    Constructors

    CascadeMenuRenderer(SerenityUiContext, RectTransform)

    Declaration
    public CascadeMenuRenderer(SerenityUiContext ctx, RectTransform container)
    Parameters
    Type Name Description
    SerenityUiContext ctx
    RectTransform container

    Fields

    AudioPlayerPlayClip

    Declaration
    public AudioPlayerPlayClip AudioPlayerPlayClip
    Field Value
    Type Description
    AudioPlayerPlayClip

    AudioServiceId

    Declaration
    public string AudioServiceId
    Field Value
    Type Description
    string

    BasePosition

    Declaration
    public Vector2 BasePosition
    Field Value
    Type Description
    Vector2

    ColumnSpacing

    Declaration
    public float ColumnSpacing
    Field Value
    Type Description
    float

    DefaultOffset

    Declaration
    public Vector2 DefaultOffset
    Field Value
    Type Description
    Vector2

    MaxWidth

    Declaration
    public float MaxWidth
    Field Value
    Type Description
    float

    MinWidth

    Declaration
    public float MinWidth
    Field Value
    Type Description
    float

    OnCancelAtBase

    Invoked when Cancel is pressed on the base page (where Cancel is otherwise a no-op).

    Declaration
    public Action OnCancelAtBase
    Field Value
    Type Description
    Action

    Scrollable

    Declaration
    public bool Scrollable
    Field Value
    Type Description
    bool

    VisibleOptionsCount

    Declaration
    public int VisibleOptionsCount
    Field Value
    Type Description
    int

    Methods

    Bind(CascadeMenuModel)

    Declaration
    public void Bind(CascadeMenuModel model)
    Parameters
    Type Name Description
    CascadeMenuModel model

    Tick()

    Poll input. Call once per frame while the menu is active.

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