61template <
typename... Args>
FLECS_API ecs_ftime_t ecs_get_timeout(const ecs_world_t *world, ecs_entity_t tick_source)
Get current timeout value for the specified timer.
FLECS_API ecs_entity_t ecs_set_interval(ecs_world_t *world, ecs_entity_t tick_source, ecs_ftime_t interval)
Set timer interval.
FLECS_API ecs_ftime_t ecs_get_interval(const ecs_world_t *world, ecs_entity_t tick_source)
Get current interval value for the specified timer.
FLECS_API void ecs_set_tick_source(ecs_world_t *world, ecs_entity_t system, ecs_entity_t tick_source)
Assign tick source to system.
FLECS_API ecs_entity_t ecs_set_rate(ecs_world_t *world, ecs_entity_t tick_source, int32_t rate, ecs_entity_t source)
Set rate filter.
FLECS_API void ecs_start_timer(ecs_world_t *world, ecs_entity_t tick_source)
Start timer.
FLECS_API void ecs_randomize_timers(ecs_world_t *world)
Enable randomizing initial time value of timers.
FLECS_API ecs_entity_t ecs_set_timeout(ecs_world_t *world, ecs_entity_t tick_source, ecs_ftime_t timeout)
Set timer timeout.
FLECS_API void ecs_stop_timer(ecs_world_t *world, ecs_entity_t tick_source)
Stop timer.
void interval(ecs_ftime_t interval)
Set interval.
void set_tick_source()
Set external tick source.
flecs::timer timer() const
Find or register a singleton timer.
void rate(int32_t rate)
Set system rate (system is its own tick source).
void timeout(ecs_ftime_t timeout)
Set timeout.
ecs_ftime_t interval()
Get interval.
ecs_ftime_t timeout()
Get timeout.
EcsRateFilter RateFilter
Rate filter component.
EcsTimer Timer
Timer component.
flecs::component< T > component(Args &&... args) const
Find or register a component.
ecs_entity_t entity_t
Entity type.
#define ecs_ftime_t
Customizable precision for scalar time values.
entity()
Default constructor.
flecs::id_t id_
The raw ID value.
flecs::world_t * world_
World is optional, but guarantees that entity identifiers extracted from the ID are valid.
timer & rate(int32_t rate, flecs::entity_t tick_source=0)
Set the timer rate.
void stop()
Stop the timer.
void start()
Start the timer.
timer & interval(ecs_ftime_t interval)
Set the timer interval.
ecs_ftime_t interval()
Get the timer interval.
timer & timeout(ecs_ftime_t timeout)
Set the timer timeout.
ecs_ftime_t timeout()
Get the timer timeout.
entity()
Default constructor.
world_t * world_
Pointer to the underlying C world.
void randomize_timers() const
Enable randomization of initial time values for timers.