![]() |
Flecs v3.2
A fast entity component system (ECS) for C & C++
|
Convenience macro's for creating entities, components and observers. More...
Macros | |
#define | ECS_DECLARE(id) ecs_entity_t id, ecs_id(id) |
#define | ECS_ENTITY_DECLARE ECS_DECLARE |
Forward declare an entity. More... | |
#define | ECS_ENTITY_DEFINE(world, id_, ...) |
Define a forward declared entity. More... | |
#define | ECS_ENTITY(world, id, ...) |
Declare & define an entity. More... | |
#define | ECS_TAG_DECLARE ECS_DECLARE |
Forward declare a tag. More... | |
#define | ECS_TAG_DEFINE(world, id) ECS_ENTITY_DEFINE(world, id, 0) |
Define a forward declared tag. More... | |
#define | ECS_TAG(world, id) ECS_ENTITY(world, id, 0) |
Declare & define a tag. More... | |
#define | ECS_PREFAB_DECLARE ECS_DECLARE |
Forward declare a prefab. More... | |
#define | ECS_PREFAB_DEFINE(world, id, ...) ECS_ENTITY_DEFINE(world, id, Prefab, __VA_ARGS__) |
Define a forward declared prefab. More... | |
#define | ECS_PREFAB(world, id, ...) ECS_ENTITY(world, id, Prefab, __VA_ARGS__) |
Declare & define a prefab. More... | |
#define | ECS_COMPONENT_DECLARE(id) ecs_entity_t ecs_id(id) |
Forward declare a component. More... | |
#define | ECS_COMPONENT_DEFINE(world, id_) |
Define a forward declared component. More... | |
#define | ECS_COMPONENT(world, id) |
Declare & define a component. More... | |
#define | ECS_OBSERVER_DECLARE(id) ecs_entity_t ecs_id(id) |
#define | ECS_OBSERVER_DEFINE(world, id_, kind, ...) |
Define a forward declared observer. More... | |
#define | ECS_OBSERVER(world, id, kind, ...) |
Declare & define an observer. More... | |
#define | ecs_entity(world, ...) ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) |
Shorthand for creating an entity with ecs_entity_init. More... | |
#define | ecs_component(world, ...) ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) |
Shorthand for creating a component with ecs_component_init. More... | |
#define | ecs_component_t(world, T) |
Shorthand for creating a component from a type. More... | |
#define | ecs_filter(world, ...) ecs_filter_init(world, &(ecs_filter_desc_t) __VA_ARGS__ ) |
Shorthand for creating a filter with ecs_filter_init. More... | |
#define | ecs_query(world, ...) ecs_query_init(world, &(ecs_query_desc_t) __VA_ARGS__ ) |
Shorthand for creating a query with ecs_query_init. More... | |
#define | ecs_observer(world, ...) ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) |
Shorthand for creating an observer with ecs_observer_init. More... | |
Convenience macro's for creating entities, components and observers.
#define ECS_COMPONENT | ( | world, | |
id | |||
) |
Declare & define a component.
Example: ECS_COMPONENT(world, Position);
#define ecs_component | ( | world, | |
... | |||
) | ecs_component_init(world, &(ecs_component_desc_t) __VA_ARGS__ ) |
#define ECS_COMPONENT_DECLARE | ( | id | ) | ecs_entity_t ecs_id(id) |
#define ECS_COMPONENT_DEFINE | ( | world, | |
id_ | |||
) |
Define a forward declared component.
Example: ECS_COMPONENT_DEFINE(world, Position);
#define ecs_component_t | ( | world, | |
T | |||
) |
Shorthand for creating a component from a type.
Example: ecs_component_t(world, Position);
#define ECS_DECLARE | ( | id | ) | ecs_entity_t id, ecs_id(id) |
#define ECS_ENTITY | ( | world, | |
id, | |||
... | |||
) |
Declare & define an entity.
#define ecs_entity | ( | world, | |
... | |||
) | ecs_entity_init(world, &(ecs_entity_desc_t) __VA_ARGS__ ) |
#define ECS_ENTITY_DECLARE ECS_DECLARE |
#define ECS_ENTITY_DEFINE | ( | world, | |
id_, | |||
... | |||
) |
Define a forward declared entity.
Example: ECS_ENTITY_DEFINE(world, MyEntity, Position, Velocity);
#define ecs_filter | ( | world, | |
... | |||
) | ecs_filter_init(world, &(ecs_filter_desc_t) __VA_ARGS__ ) |
#define ECS_OBSERVER | ( | world, | |
id, | |||
kind, | |||
... | |||
) |
Declare & define an observer.
Example: ECS_OBSERVER(world, AddPosition, EcsOnAdd, Position);
#define ecs_observer | ( | world, | |
... | |||
) | ecs_observer_init(world, &(ecs_observer_desc_t) __VA_ARGS__ ) |
#define ECS_OBSERVER_DECLARE | ( | id | ) | ecs_entity_t ecs_id(id) |
#define ECS_OBSERVER_DEFINE | ( | world, | |
id_, | |||
kind, | |||
... | |||
) |
Define a forward declared observer.
Example: ECS_OBSERVER_DEFINE(world, AddPosition, EcsOnAdd, Position);
#define ECS_PREFAB | ( | world, | |
id, | |||
... | |||
) | ECS_ENTITY(world, id, Prefab, __VA_ARGS__) |
Declare & define a prefab.
#define ECS_PREFAB_DECLARE ECS_DECLARE |
#define ECS_PREFAB_DEFINE | ( | world, | |
id, | |||
... | |||
) | ECS_ENTITY_DEFINE(world, id, Prefab, __VA_ARGS__) |
Define a forward declared prefab.
Example: ECS_PREFAB_DEFINE(world, MyPrefab, Position, Velocity);
#define ecs_query | ( | world, | |
... | |||
) | ecs_query_init(world, &(ecs_query_desc_t) __VA_ARGS__ ) |
#define ECS_TAG | ( | world, | |
id | |||
) | ECS_ENTITY(world, id, 0) |
#define ECS_TAG_DEFINE | ( | world, | |
id | |||
) | ECS_ENTITY_DEFINE(world, id, 0) |
Define a forward declared tag.
Example: ECS_TAG_DEFINE(world, MyTag);