Table of Contents

Struct PathQuery

Namespace
Trailblazer.Pathing
Assembly
Trailblazer.dll

Defines complete immutable caller intent for one navigation query.

public readonly struct PathQuery : IEquatable<PathQuery>
Implements
Inherited Members

Constructors

PathQuery(NavigationEndpoint, NavigationEndpoint, NavigationAgentProfile, NavigationAreaPolicyKey, TraversalIntent, PathAlgorithm, NavigationWorkBudget, bool, FlowFieldQueryOptions)

Creates complete immutable navigation query intent.

public PathQuery(NavigationEndpoint start, NavigationEndpoint end, NavigationAgentProfile agent, NavigationAreaPolicyKey areaPolicy, TraversalIntent traversal, PathAlgorithm algorithm, NavigationWorkBudget budget, bool allowTransitions, FlowFieldQueryOptions flowField = default)

Parameters

start NavigationEndpoint
end NavigationEndpoint
agent NavigationAgentProfile
areaPolicy NavigationAreaPolicyKey
traversal TraversalIntent
algorithm PathAlgorithm
budget NavigationWorkBudget
allowTransitions bool
flowField FlowFieldQueryOptions

Exceptions

ArgumentException

Thrown when a nested value is invalid or incompatible with the algorithm.

ArgumentOutOfRangeException

Thrown when the algorithm is unknown.

Properties

Agent

Gets the exact agent profile used to evaluate traversal.

public NavigationAgentProfile Agent { get; }

Property Value

NavigationAgentProfile

Algorithm

Gets the selected search algorithm.

public PathAlgorithm Algorithm { get; }

Property Value

PathAlgorithm

AllowTransitions

Gets whether explicit or generated traversal transitions may be used.

public bool AllowTransitions { get; }

Property Value

bool

AreaPolicy

Gets the exact query-specific navigation-area policy identity.

public NavigationAreaPolicyKey AreaPolicy { get; }

Property Value

NavigationAreaPolicyKey

Budget

Gets the finite work budget shared by the complete query.

public NavigationWorkBudget Budget { get; }

Property Value

NavigationWorkBudget

End

Gets the requested destination endpoint.

public NavigationEndpoint End { get; }

Property Value

NavigationEndpoint

FlowField

Gets the options used when Algorithm is FlowField.

public FlowFieldQueryOptions FlowField { get; }

Property Value

FlowFieldQueryOptions

Start

Gets the requested start endpoint.

public NavigationEndpoint Start { get; }

Property Value

NavigationEndpoint

Traversal

Gets the exact start medium and allowed target media.

public TraversalIntent Traversal { get; }

Property Value

TraversalIntent

Methods

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

Equals(PathQuery)

public bool Equals(PathQuery other)

Parameters

other PathQuery

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

Operators

operator ==(PathQuery, PathQuery)

Returns whether two queries have exactly equal intent.

public static bool operator ==(PathQuery left, PathQuery right)

Parameters

left PathQuery
right PathQuery

Returns

bool

operator !=(PathQuery, PathQuery)

Returns whether two queries differ.

public static bool operator !=(PathQuery left, PathQuery right)

Parameters

left PathQuery
right PathQuery

Returns

bool