30using iter_t = ecs_iter_t;
33using flags32_t = ecs_flags32_t;
54static const flecs::entity_t Pair =
ECS_PAIR;
56static const flecs::entity_t Toggle =
ECS_TOGGLE;
68static const flecs::entity_t Query = EcsQuery;
69static const flecs::entity_t Observer = EcsObserver;
70static const flecs::entity_t Private =
EcsPrivate;
71static const flecs::entity_t Module =
EcsModule;
72static const flecs::entity_t Prefab =
EcsPrefab;
74static const flecs::entity_t Empty =
EcsEmpty;
75static const flecs::entity_t Monitor =
EcsMonitor;
76static const flecs::entity_t System = EcsSystem;
77static const flecs::entity_t Pipeline = ecs_id(EcsPipeline);
78static const flecs::entity_t Phase = EcsPhase;
81static const flecs::entity_t OnAdd =
EcsOnAdd;
83static const flecs::entity_t OnSet =
EcsOnSet;
84static const flecs::entity_t UnSet =
EcsUnSet;
89static const uint32_t Self =
EcsSelf;
90static const uint32_t Up =
EcsUp;
91static const uint32_t Down =
EcsDown;
97static const uint32_t TraverseFlags = EcsTraverseFlags;
100static const flecs::entity_t Flecs =
EcsFlecs;
102static const flecs::entity_t World =
EcsWorld;
105static const flecs::entity_t Wildcard =
EcsWildcard;
106static const flecs::entity_t Any =
EcsAny;
107static const flecs::entity_t This =
EcsThis;
110static const flecs::entity_t Final =
EcsFinal;
112static const flecs::entity_t Tag =
EcsTag;
113static const flecs::entity_t Union =
EcsUnion;
115static const flecs::entity_t Acyclic =
EcsAcyclic;
118static const flecs::entity_t With =
EcsWith;
119static const flecs::entity_t OneOf =
EcsOneOf;
122static const flecs::entity_t IsA =
EcsIsA;
123static const flecs::entity_t ChildOf =
EcsChildOf;
125static const flecs::entity_t SlotOf =
EcsSlotOf;
128static const flecs::entity_t Name =
EcsName;
129static const flecs::entity_t Symbol =
EcsSymbol;
132static const flecs::entity_t OnDelete =
EcsOnDelete;
134static const flecs::entity_t Remove =
EcsRemove;
135static const flecs::entity_t Delete =
EcsDelete;
136static const flecs::entity_t Panic =
EcsPanic;
struct ecs_ref_t ecs_ref_t
Refs cache data that lets them access components faster than ecs_get.
ecs_id_t ecs_entity_t
An entity identifier.
struct ecs_rule_t ecs_rule_t
A rule implements a non-trivial filter.
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
struct ecs_query_t ecs_query_t
A query allows for cached iteration over ECS data.
struct ecs_table_t ecs_table_t
A table is where entities and components are stored.
const ecs_id_t ECS_PAIR
Indicates that the id is a pair.
const ecs_id_t ECS_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.
#define EcsParent
Short for up(ChildOf)
#define EcsIsEntity
Term id is an entity.
#define EcsIsVariable
Term id is a variable.
#define EcsCascade
Sort results breadth first.
#define EcsDown
Match by traversing downwards (derived, cannot be set)
#define EcsFilter
Prevent observer from triggering on term.
#define EcsUp
Match by traversing upwards.
#define EcsSelf
Match on self.
@ EcsOut
Term is only written.
@ EcsInOut
Term is both read and written.
@ 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.
Component for storing a poly object.
Filters alllow for ad-hoc quick filtering of entity tables.
Type that contains information about a query group.
Type that contains component lifecycle callbacks.
Type that contains component information (passed to ctors/dtors/...)
An array with (component) ids.
Type that contains information about the world.