17 int32_t stage_current,
23 , delta_time_(delta_time)
25 , stage_current_(stage_current)
26 , stage_count_(stage_count) { }
39 stage_ = stage.
c_ptr();
46 stage_, id_, stage_current_, stage_count_, delta_time_,
49 ecs_run(stage_, id_, delta_time_, param_);
60 int32_t stage_current_;
98 int32_t stage_current,
101 void *param =
nullptr)
const
104 world_, id_, stage_current, stage_count, delta_time, param);
118template <
typename... Comps,
typename... Args>
119inline system_builder<Comps...>
world::system(Args &&... args)
const {
126 world.
component<TickSource>(
"flecs::system::TickSource");
FLECS_API const ecs_system_t * ecs_system_get(const ecs_world_t *world, ecs_entity_t system)
Get system object.
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_system_init(ecs_world_t *world, const ecs_system_desc_t *desc)
Create a system.
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::system system(flecs::entity e) const
Upcast entity to a system.
flecs::component< T > component(Args &&... args) const
Find or register component.
#define ecs_ftime_t
Customizable precision for scalar time values.
Use with ecs_system_init() to create or update a system.
void * ctx
Context to be passed to callback (as ecs_iter_t::param)
ecs_entity_t entity
Existing entity to associate with system (optional)
void * ctx
Userdata for system.
world_t * c_ptr() const
Obtain pointer to C world object.
Timer module system mixin.