32using flags32_t = ecs_flags32_t;
53enum query_cache_kind_t {
61static const flecs::entity_t PAIR =
ECS_PAIR;
63static const flecs::entity_t TOGGLE =
ECS_TOGGLE;
76static const flecs::entity_t Query =
EcsQuery;
78static const flecs::entity_t Private =
EcsPrivate;
79static const flecs::entity_t Module =
EcsModule;
80static const flecs::entity_t Prefab =
EcsPrefab;
82static const flecs::entity_t Empty =
EcsEmpty;
83static const flecs::entity_t Monitor =
EcsMonitor;
84static const flecs::entity_t System =
EcsSystem;
85static const flecs::entity_t Pipeline =
ecs_id(EcsPipeline);
86static const flecs::entity_t Phase =
EcsPhase;
89static const flecs::entity_t OnAdd =
EcsOnAdd;
91static const flecs::entity_t OnSet =
EcsOnSet;
96static const uint64_t Self =
EcsSelf;
97static const uint64_t Up =
EcsUp;
98static const uint64_t Trav =
EcsTrav;
100static const uint64_t Desc =
EcsDesc;
108static const flecs::entity_t Flecs =
EcsFlecs;
110static const flecs::entity_t World =
EcsWorld;
113static const flecs::entity_t Wildcard =
EcsWildcard;
114static const flecs::entity_t Any =
EcsAny;
115static const flecs::entity_t This =
EcsThis;
118static const flecs::entity_t Final =
EcsFinal;
121static const flecs::entity_t Acyclic =
EcsAcyclic;
124static const flecs::entity_t With =
EcsWith;
125static const flecs::entity_t OneOf =
EcsOneOf;
126static const flecs::entity_t Trait =
EcsTrait;
128static const flecs::entity_t Target =
EcsTarget;
133static const flecs::entity_t Override =
EcsOverride;
134static const flecs::entity_t Inherit =
EcsInherit;
138static const flecs::entity_t OnDelete =
EcsOnDelete;
140static const flecs::entity_t Remove =
EcsRemove;
141static const flecs::entity_t Delete =
EcsDelete;
142static const flecs::entity_t Panic =
EcsPanic;
145static const flecs::entity_t IsA =
EcsIsA;
146static const flecs::entity_t ChildOf =
EcsChildOf;
148static const flecs::entity_t SlotOf =
EcsSlotOf;
151static const flecs::entity_t Name =
EcsName;
152static const flecs::entity_t Symbol =
EcsSymbol;
155static const flecs::entity_t Sparse =
EcsSparse;
156static const flecs::entity_t Union =
EcsUnion;
159static const flecs::entity_t PredEq =
EcsPredEq;
struct EcsIdentifier EcsIdentifier
A (string) identifier.
struct EcsPoly EcsPoly
Component for storing a poly object.
struct EcsDefaultChildComponent EcsDefaultChildComponent
When added to an entity this informs serialization formats which component to use when a value is ass...
struct EcsComponent EcsComponent
Component information.
FLECS_API const ecs_entity_t ecs_id(EcsDocDescription)
Component id for EcsDocDescription.
struct ecs_term_t ecs_term_t
A term is a single element in a query.
struct ecs_type_info_t ecs_type_info_t
Type information.
struct ecs_observer_t ecs_observer_t
An observer is a system that is invoked when an event matches its query.
struct ecs_ref_t ecs_ref_t
A ref is a fast way to fetch a component for a specific entity.
ecs_id_t ecs_entity_t
An entity identifier.
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
struct ecs_type_hooks_t ecs_type_hooks_t
Type hooks are callbacks associated with component lifecycle events.
uint64_t ecs_id_t
Ids are the things that can be added to an entity.
struct ecs_query_t ecs_query_t
A query returns entities matching a list of constraints.
struct ecs_table_t ecs_table_t
A table stores entities and components for a specific type.
struct ecs_iter_t ecs_iter_t
Type used for iterating iterable objects.
const ecs_id_t ECS_PAIR
Indicates that the id is a pair.
const ecs_id_t ECS_AUTO_OVERRIDE
Automatically override component when it is inherited.
const ecs_id_t ECS_TOGGLE
Adds bitset to storage which allows component to be enabled/disabled.
struct ecs_world_info_t ecs_world_info_t
Type that contains information about the world.
struct ecs_query_group_info_t ecs_query_group_info_t
Type that contains information about a query group.
#define EcsIsEntity
Term id is an entity.
#define EcsIsVariable
Term id is a variable.
#define EcsIsName
Term id is a name (don't attempt to lookup as entity).
#define EcsDesc
Iterate groups in descending order.
#define EcsCascade
Sort results breadth first.
#define EcsTrav
Traverse relationship transitively.
#define EcsTraverseFlags
All term traversal flags.
#define EcsTermRefFlags
All term reference kind flags.
#define EcsUp
Match by traversing upwards.
#define EcsSelf
Match on self.
@ EcsQueryCacheAll
Require that all query terms can be cached.
@ EcsQueryCacheDefault
Behavior determined by query creation context.
@ EcsQueryCacheNone
No caching.
@ EcsQueryCacheAuto
Cache query terms that are cacheable.
@ EcsOut
Term is only written.
@ EcsInOut
Term is both read and written.
@ EcsInOutFilter
Same as InOutNone + prevents term from triggering observers.
@ EcsInOutDefault
InOut for regular terms, In for shared terms.
@ EcsInOutNone
Term is neither read nor written.
@ EcsIn
Term is only read.
@ EcsNot
The term must not match.
@ EcsOptional
The term may match.
@ EcsOr
One of the terms in an or chain must match.
@ EcsOrFrom
Term must match at least one component from term id.
@ EcsAnd
The term must match.
@ EcsNotFrom
Term must match none of the components from term id.
@ EcsAndFrom
Term must match all components from term id.
A type is a list of (component) ids.