Table of Contents

Class EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget>

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

ECS-aware navigation query builder. Handles FK-based joins between archetype entities. Created via NavigateField<TSource, TTarget>(Expression<Func<TSource, long>>).

public class EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget> where TSourceArch : class where TSource : unmanaged where TTarget : unmanaged

Type Parameters

TSourceArch
TSource
TTarget
Inheritance
EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget>
Inherited Members

Methods

Any(string, int, string)

Test if any source entity matches.

public bool Any(string callerFile = null, int callerLine = 0, string callerMethod = null)

Parameters

callerFile string
callerLine int
callerMethod string

Returns

bool

Count(string, int, string)

Count matching source entities.

public int Count(string callerFile = null, int callerLine = 0, string callerMethod = null)

Parameters

callerFile string
callerLine int
callerMethod string

Returns

int

Execute(string, int, string)

Execute the navigation query and return matching source entity IDs.

public HashSet<EntityId> Execute(string callerFile = null, int callerLine = 0, string callerMethod = null)

Parameters

callerFile string
callerLine int
callerMethod string

Returns

HashSet<EntityId>

ToView(int, string, int, string)

Create an incremental navigation view. Registers with both source and target ViewRegistries.

public ViewBase ToView(int bufferCapacity = 4096, string callerFile = null, int callerLine = 0, string callerMethod = null)

Parameters

bufferCapacity int
callerFile string
callerLine int
callerMethod string

Returns

ViewBase

Where(Expression<Func<TSource, TTarget, bool>>)

Filter by source and target predicates. Source parameters come first, target second. Only indexed fields are supported (same constraint as navigation views).

public EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget> Where(Expression<Func<TSource, TTarget, bool>> predicate)

Parameters

predicate Expression<Func<TSource, TTarget, bool>>

Returns

EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget>