logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class MenuNavigationGraph

    The immutable result of walking every view reachable from a root, as produced by WalkFrom(string, IMenuNavigationLookup). Nodes is the walk's own record, one entry per resolved view, root first, in breadth-first order; ReachableMenuIds and NonMenuViewIds are derived projections of it kept for callers that only ever needed the menu/non-menu split, not the full per-node detail.

    Inheritance
    object
    MenuNavigationGraph
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.Menu.Application.Navigation
    Assembly: Serenity.Menu.Application.dll
    Syntax
    public sealed class MenuNavigationGraph

    Constructors

    MenuNavigationGraph(string, IReadOnlyList<MenuNavigationNode>, IReadOnlyList<string>)

    Declaration
    public MenuNavigationGraph(string rootViewId, IReadOnlyList<MenuNavigationNode> nodes, IReadOnlyList<string> unresolvedTargetIds)
    Parameters
    Type Name Description
    string rootViewId
    IReadOnlyList<MenuNavigationNode> nodes
    IReadOnlyList<string> unresolvedTargetIds

    Properties

    Nodes

    Gets every view the walk resolved, root first, in breadth-first order.

    Declaration
    public IReadOnlyList<MenuNavigationNode> Nodes { get; }
    Property Value
    Type Description
    IReadOnlyList<MenuNavigationNode>

    The resolved nodes as a read-only list.

    NonMenuViewIds

    Gets every known non-menu view id encountered during the walk (composites, cascades, leaderboards, achievements views, and any other resolvable view kind). Derived from Nodes.

    Declaration
    public IReadOnlyList<string> NonMenuViewIds { get; }
    Property Value
    Type Description
    IReadOnlyList<string>

    The non-menu view ids as a read-only list.

    ReachableMenuIds

    Gets every menu id reachable from the root, in breadth-first order with the root first (when the root itself resolves to a menu). Derived from Nodes.

    Declaration
    public IReadOnlyList<string> ReachableMenuIds { get; }
    Property Value
    Type Description
    IReadOnlyList<string>

    The reachable menu ids as a read-only list.

    RootViewId

    Gets the root view id the walk started from.

    Declaration
    public string RootViewId { get; }
    Property Value
    Type Description
    string

    The root view id as a string.

    UnresolvedTargetIds

    Gets every transition target encountered that resolved to nothing known.

    Declaration
    public IReadOnlyList<string> UnresolvedTargetIds { get; }
    Property Value
    Type Description
    IReadOnlyList<string>

    The unresolved target ids as a read-only list.

    Methods

    Empty(string)

    Builds an empty graph for a root that could not be walked at all (a null, empty, or whitespace root view id).

    Declaration
    public static MenuNavigationGraph Empty(string rootViewId)
    Parameters
    Type Name Description
    string rootViewId

    The root view id to record, unchanged, on the empty result.

    Returns
    Type Description
    MenuNavigationGraph

    A graph with the given root id and every list empty.

    In this article
    © 2026 Serenity. All Rights Reserved