30using table_record_t = ecs_table_record_t;
31using table_records_t = ecs_table_records_t;
35using flags32_t = ecs_flags32_t;
56enum query_cache_kind_t {
64static const flecs::entity_t PAIR =
ECS_PAIR;
66static const flecs::entity_t TOGGLE =
ECS_TOGGLE;
79static const flecs::entity_t Query =
EcsQuery;
81static const flecs::entity_t Private =
EcsPrivate;
82static const flecs::entity_t Module =
EcsModule;
83static const flecs::entity_t Prefab =
EcsPrefab;
85static const flecs::entity_t Empty =
EcsEmpty;
86static const flecs::entity_t Monitor =
EcsMonitor;
87static const flecs::entity_t System =
EcsSystem;
88static const flecs::entity_t Pipeline =
ecs_id(EcsPipeline);
89static const flecs::entity_t Phase =
EcsPhase;
93static const flecs::entity_t OnAdd =
EcsOnAdd;
95static const flecs::entity_t OnSet =
EcsOnSet;
100static const uint64_t Self =
EcsSelf;
101static const uint64_t Up =
EcsUp;
102static const uint64_t Trav =
EcsTrav;
104static const uint64_t Desc =
EcsDesc;
112static const flecs::entity_t Flecs =
EcsFlecs;
114static const flecs::entity_t World =
EcsWorld;
117static const flecs::entity_t Wildcard =
EcsWildcard;
118static const flecs::entity_t Any =
EcsAny;
119static const flecs::entity_t This =
EcsThis;
122static const flecs::entity_t Final =
EcsFinal;
126static const flecs::entity_t Acyclic =
EcsAcyclic;
129static const flecs::entity_t With =
EcsWith;
130static const flecs::entity_t OneOf =
EcsOneOf;
131static const flecs::entity_t Trait =
EcsTrait;
133static const flecs::entity_t Target =
EcsTarget;
138static const flecs::entity_t Override =
EcsOverride;
139static const flecs::entity_t Inherit =
EcsInherit;
143static const flecs::entity_t OnDelete =
EcsOnDelete;
145static const flecs::entity_t Remove =
EcsRemove;
146static const flecs::entity_t Delete =
EcsDelete;
147static const flecs::entity_t Panic =
EcsPanic;
150static const flecs::entity_t IsA =
EcsIsA;
151static const flecs::entity_t ChildOf =
EcsChildOf;
153static const flecs::entity_t SlotOf =
EcsSlotOf;
156static const flecs::entity_t Name =
EcsName;
157static const flecs::entity_t Symbol =
EcsSymbol;
160static const flecs::entity_t Sparse =
EcsSparse;
162static const flecs::entity_t Union =
EcsUnion;
165static 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_component_record_t ecs_component_record_t
Information about a (component) id, such as type info and tables with the id.
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.