Skip to content

CachedEntityQueryBuilderBase Class

Abstract base for cached query builders. Holds shared filter state and provides fluent methods that are identical across all arities. Subclasses only add Build() with the correct return type.

public abstract class CachedEntityQueryBuilderBase<TSelf>
    where TSelf : Brine2D.ECS.Query.CachedEntityQueryBuilderBase<TSelf>

Type parameters

TSelf

Inheritance System.Object → CachedEntityQueryBuilderBase\<TSelf>

Derived
CachedEntityQueryBuilder<T1,T2,T3,T4>
CachedEntityQueryBuilder<T1,T2,T3>
CachedEntityQueryBuilder<T1,T2>
CachedEntityQueryBuilder<T1>

Methods
IncludeInactive() Includes both active and inactive entities.
OnlyEnabled() Filters to entities where all required components have IsEnabled set to true. Components are already pre-resolved during cache rebuild, so this check adds negligible overhead.
Where(Func<Entity,bool>) Adds a custom filter predicate.
WithAllTags(string[]) Requires entities to have ALL of the specified tags.
WithAnyTag(string[]) Requires entities to have AT LEAST ONE of the specified tags.
WithBehavior<TBehavior>() Requires entities to have the specified behavior. The query is automatically invalidated when behaviors are added or removed.
Without<TExclude>() Excludes entities that have the specified component. The query is automatically invalidated when the excluded component type is added to or removed from any entity.
WithoutBehavior<TBehavior>() Excludes entities that have the specified behavior. The query is automatically invalidated when behaviors are added or removed.
WithoutTag(string) Requires entities to NOT have the specified tag.
WithTag(string) Requires entities to have the specified tag.