30using table_record_t = ecs_table_record_t;
31using table_records_t = ecs_table_records_t;
35using flags32_t = ecs_flags32_t;
36using flags64_t = ecs_flags64_t;
57enum query_cache_kind_t {
65static const flecs::entity_t PAIR =
ECS_PAIR;
67static const flecs::entity_t TOGGLE =
ECS_TOGGLE;
80static const flecs::entity_t Query =
EcsQuery;
82static const flecs::entity_t Private =
EcsPrivate;
83static const flecs::entity_t Module =
EcsModule;
84static const flecs::entity_t Prefab =
EcsPrefab;
86static const flecs::entity_t Empty =
EcsEmpty;
87static const flecs::entity_t Monitor =
EcsMonitor;
88static const flecs::entity_t System =
EcsSystem;
89static const flecs::entity_t Pipeline =
ecs_id(EcsPipeline);
90static const flecs::entity_t Phase =
EcsPhase;
94static const flecs::entity_t OnAdd =
EcsOnAdd;
96static const flecs::entity_t OnSet =
EcsOnSet;
101static const uint64_t Self =
EcsSelf;
102static const uint64_t Up =
EcsUp;
103static const uint64_t Trav =
EcsTrav;
105static const uint64_t Desc =
EcsDesc;
113static const flecs::entity_t Flecs =
EcsFlecs;
115static const flecs::entity_t World =
EcsWorld;
118static const flecs::entity_t Wildcard =
EcsWildcard;
119static const flecs::entity_t Any =
EcsAny;
120static const flecs::entity_t This =
EcsThis;
123static const flecs::entity_t Final =
EcsFinal;
127static const flecs::entity_t Acyclic =
EcsAcyclic;
130static const flecs::entity_t With =
EcsWith;
131static const flecs::entity_t OneOf =
EcsOneOf;
132static const flecs::entity_t Trait =
EcsTrait;
134static const flecs::entity_t Target =
EcsTarget;
139static const flecs::entity_t Override =
EcsOverride;
140static const flecs::entity_t Inherit =
EcsInherit;
144static const flecs::entity_t OnDelete =
EcsOnDelete;
146static const flecs::entity_t Remove =
EcsRemove;
147static const flecs::entity_t Delete =
EcsDelete;
148static const flecs::entity_t Panic =
EcsPanic;
151static const flecs::entity_t IsA =
EcsIsA;
152static const flecs::entity_t ChildOf =
EcsChildOf;
154static const flecs::entity_t SlotOf =
EcsSlotOf;
161static const flecs::entity_t Name =
EcsName;
162static const flecs::entity_t Symbol =
EcsSymbol;
165static const flecs::entity_t Sparse =
EcsSparse;
169static 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.