Class EntityQueryDesc
Describes a query used to find archetypes with specific components.
Namespace: Unity.Entities
Syntax
public class EntityQueryDesc
Remarks
A query description combines components in the All, Any, and None sets according to the following rules:
- All - Includes archetypes that have every component in this set
- Any - Includes archetypes that have at least one component in this set
- None - Excludes archetypes that have any component in this set
For example, given entities with the following components:
- Player has components: Position, Rotation, Player
- Enemy1 has components: Position, Rotation, Melee
- Enemy2 has components: Position, Rotation, Ranger
The query description below gives you all of the archetypes that: have any of [Melee or Ranger], AND have none of [Player], AND have all of [Position and Rotation]
new EntityQueryDesc {
Any = new ComponentType[] {typeof(Melee), typeof(Ranger)},
None = new ComponentType[] {typeof(Player)},
All = new ComponentType[] {typeof(Position), typeof(Rotation)}
}
In other words, the query description selects the Enemy1 and Enemy2 entities, but not the Player entity.
Use an EntityQueryDesc object to create an EntityQuery object. In a system, call GetEntityQuery(EntityQueryDesc[]); otherwise, call CreateEntityQuery(EntityQueryDesc[]).
Fields
All
Include archetypes that contain all of the
components in the All
list.
Declaration
public ComponentType[] All
Field Value
Type | Description |
---|---|
ComponentType[] |
Any
Include archetypes that contain at least one (but possibly more) of the
components in the Any
list.
Declaration
public ComponentType[] Any
Field Value
Type | Description |
---|---|
ComponentType[] |
None
Exclude archetypes that contain any of the
components in the None
list.
Declaration
public ComponentType[] None
Field Value
Type | Description |
---|---|
ComponentType[] |
Options
Specialized options for the query.
Declaration
public EntityQueryOptions Options
Field Value
Type | Description |
---|---|
EntityQueryOptions |
Remarks
You should not need to set these options for most queries.
Options is a bit mask; use the bitwise OR operator to combine multiple options.
Methods
Validate()
Declaration
[Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]
public void Validate()