One page of a cascade menu: a title plus one or more CascadeColumns. Single-column pages
are ordinary menus (command, magic, item); multi-column pages show all columns at once and are navigable
between them (target selection = Enemies + Party).
OffsetX/OffsetY (when HasOffset is true) define this page's
position RELATIVE TO ITS PARENT page when cascaded — so each level's spacing is configurable, FF8-style.
PreferredColumn is the column the cursor starts on (e.g. Party for an item's target step).
All are plain values (no engine dependency) so a page can be authored from a ScriptableObject.
Inheritance
CascadeMenuPage
Assembly: Serenity.Menu.Application.dll
public sealed class CascadeMenuPage
Constructors
CascadeMenuPage(string, IReadOnlyList<CascadeColumn>)
Declaration
public CascadeMenuPage(string title, IReadOnlyList<CascadeColumn> columns)
Parameters
Single-column convenience constructor.
Declaration
public CascadeMenuPage(string title, IReadOnlyList<CascadeOption> options)
Parameters
Properties
Columns
Declaration
public IReadOnlyList<CascadeColumn> Columns { get; }
Property Value
Declaration
public bool HasOffset { get; }
Property Value
Declaration
public float OffsetX { get; }
Property Value
Declaration
public float OffsetY { get; }
Property Value
PreferredColumn
Declaration
public int PreferredColumn { get; }
Property Value
Declaration
public string Title { get; }
Property Value
Methods
WithInitialColumn(int)
Returns a copy of this page whose cursor starts on the given column.
Declaration
public CascadeMenuPage WithInitialColumn(int column)
Parameters
| Type |
Name |
Description |
| int |
column |
|
Returns
Returns a copy of this page carrying an explicit cascade offset relative to its parent.
Declaration
public CascadeMenuPage WithOffset(float offsetX, float offsetY)
Parameters
Returns