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;
70static const flecs::entity_t Query = EcsQuery;
71static const flecs::entity_t Observer = EcsObserver;
72static const flecs::entity_t Private =
EcsPrivate;
73static const flecs::entity_t Module =
EcsModule;
74static const flecs::entity_t Prefab =
EcsPrefab;
76static const flecs::entity_t Empty =
EcsEmpty;
77static const flecs::entity_t Monitor =
EcsMonitor;
78static const flecs::entity_t System = EcsSystem;
79static const flecs::entity_t Pipeline = ecs_id(EcsPipeline);
80static const flecs::entity_t Phase = EcsPhase;
83static const flecs::entity_t OnAdd =
EcsOnAdd;
85static const flecs::entity_t OnSet =
EcsOnSet;
86static const flecs::entity_t UnSet =
EcsUnSet;
91static const uint32_t Self =
EcsSelf;
92static const uint32_t Up =
EcsUp;
93static const uint32_t Down =
EcsDown;
95static const uint32_t Desc =
EcsDesc;
100static const uint32_t TraverseFlags = EcsTraverseFlags;
103static const flecs::entity_t Flecs =
EcsFlecs;
105static const flecs::entity_t World =
EcsWorld;
108static const flecs::entity_t Wildcard =
EcsWildcard;
109static const flecs::entity_t Any =
EcsAny;
110static const flecs::entity_t This =
EcsThis;
113static const flecs::entity_t Final =
EcsFinal;
116static const flecs::entity_t Tag =
EcsTag;
117static const flecs::entity_t Union =
EcsUnion;
119static const flecs::entity_t Acyclic =
EcsAcyclic;
122static const flecs::entity_t With =
EcsWith;
123static const flecs::entity_t OneOf =
EcsOneOf;
124static const flecs::entity_t Trait =
EcsTrait;
126static const flecs::entity_t Target =
EcsTarget;
129static const flecs::entity_t IsA =
EcsIsA;
130static const flecs::entity_t ChildOf =
EcsChildOf;
132static const flecs::entity_t SlotOf =
EcsSlotOf;
135static const flecs::entity_t Name =
EcsName;
136static const flecs::entity_t Symbol =
EcsSymbol;
139static const flecs::entity_t OnDelete =
EcsOnDelete;
141static const flecs::entity_t Remove =
EcsRemove;
142static const flecs::entity_t Delete =
EcsDelete;
143static const flecs::entity_t Panic =
EcsPanic;
146static const flecs::entity_t Flatten =
EcsFlatten;
150static const flecs::entity_t PredEq = EcsPredEq;
151static const flecs::entity_t PredMatch = EcsPredMatch;
152static const flecs::entity_t PredLookup = EcsPredLookup;
155static const flecs::entity_t ScopeOpen = EcsScopeOpen;
156static const flecs::entity_t ScopeClose = EcsScopeClose;
struct EcsIdentifier EcsIdentifier
A (string) identifier.
ecs_iterable_t EcsIterable
Component for iterable entities.
struct EcsPoly EcsPoly
Component for storing a poly object.
struct EcsFlattenTarget EcsFlattenTarget
Target data for flattened relationships.
struct EcsComponent EcsComponent
Component information.
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_rule_t ecs_rule_t
A rule is a query with advanced graph traversal features.
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
struct ecs_filter_t ecs_filter_t
A filter is an iterable data structure that describes a query.
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 that caches its results.
struct ecs_table_t ecs_table_t
A table stores entities and components for a specific type.
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.
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 EcsParent
Short for up(ChildOf)
#define EcsIsEntity
Term id is an entity.
#define EcsIsVariable
Term id is a variable.
#define EcsDesc
Iterate groups in descending order
#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.
A type is a list of (component) ids.