![]() |
Flecs v3.2
A fast entity component system (ECS) for C & C++
|
System module. More...
Go to the source code of this file.
Classes | |
| struct | EcsTickSource |
| Component used to provide a tick source to systems. More... | |
| struct | ecs_system_desc_t |
| Use with ecs_system_init. More... | |
Macros | |
| #define | FLECS_SYSTEM_H |
| #define | ECS_SYSTEM_DECLARE(id) ecs_entity_t ecs_id(id) |
| Forward declare a system. | |
| #define | ECS_SYSTEM_DEFINE(world, id_, phase, ...) |
| Define a forward declared system. | |
| #define | ECS_SYSTEM(world, id, phase, ...) |
| Declare & define a system. | |
| #define | ecs_system(world, ...) ecs_system_init(world, &(ecs_system_desc_t) __VA_ARGS__ ) |
| Shorthand for creating a system with ecs_system_init. | |
Typedefs | |
| typedef struct EcsTickSource | EcsTickSource |
| Component used to provide a tick source to systems. | |
| typedef struct ecs_system_desc_t | ecs_system_desc_t |
| Use with ecs_system_init. | |
Functions | |
| FLECS_API ecs_entity_t | ecs_system_init (ecs_world_t *world, const ecs_system_desc_t *desc) |
| Create a system. | |
| FLECS_API ecs_entity_t | ecs_run (ecs_world_t *world, ecs_entity_t system, ecs_ftime_t delta_time, void *param) |
| Run a specific system manually. | |
| FLECS_API ecs_entity_t | ecs_run_worker (ecs_world_t *world, ecs_entity_t system, int32_t stage_current, int32_t stage_count, ecs_ftime_t delta_time, void *param) |
| Same as ecs_run, but subdivides entities across number of provided stages. | |
| FLECS_API ecs_entity_t | ecs_run_w_filter (ecs_world_t *world, ecs_entity_t system, ecs_ftime_t delta_time, int32_t offset, int32_t limit, void *param) |
| Run system with offset/limit and type filter. | |
| FLECS_API ecs_query_t * | ecs_system_get_query (const ecs_world_t *world, ecs_entity_t system) |
| Get the query object for a system. | |
| FLECS_API void * | ecs_system_get_ctx (const ecs_world_t *world, ecs_entity_t system) |
| Get system context. | |
| FLECS_API void * | ecs_system_get_binding_ctx (const ecs_world_t *world, ecs_entity_t system) |
| Get system binding context. | |
| FLECS_API void | FlecsSystemImport (ecs_world_t *world) |
System module.
The system module allows for creating and running systems. A system is a query in combination with a callback function. In addition systems have support for time management and can be monitored by the stats addon.
Definition in file system.h.