Class EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget>
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
TSourceArchTSourceTTarget
- 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
Returns
Count(string, int, string)
Count matching source entities.
public int Count(string callerFile = null, int callerLine = 0, string callerMethod = null)
Parameters
Returns
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
Returns
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
Returns
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
predicateExpression<Func<TSource, TTarget, bool>>
Returns
- EcsNavigationQueryBuilder<TSourceArch, TSource, TTarget>