Class EntityQueryDesc | Entities | 0.8.0-preview.8
docs.unity.cn
    Show / Hide Table of Contents

    Class EntityQueryDesc

    Describes a query used to find archetypes with specific components.

    Inheritance
    Object
    EntityQueryDesc
    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()
    Back to top Copyright © 2020 Unity Technologies
    Generated by DocFX