16template<
typename Base,
typename ... Components>
35 desc_->
events[event_count_ ++] = evt;
61 Base&
ctx(
void *ptr) {
77 return *
static_cast<Base*
>(
this);
ecs_entity_t entity_t
Entity type.
ecs_world_t world_t
World type.
void(* ecs_iter_action_t)(ecs_iter_t *it)
Function prototype for iterables.
Used with ecs_observer_init().
void * ctx
User context to pass to callback.
ecs_flags32_t flags_
Used for internal purposes.
bool yield_existing
When an observer is created, generate events from existing data.
ecs_run_action_t run
Callback invoked on an event.
ecs_entity_t events[8]
Events to observe (OnAdd, OnRemove, OnSet).
Observer builder interface.
Base & event()
Specify the event(s) for when the observer should run.
observer_builder_i()
Default constructor.
Base & ctx(void *ptr)
Set the observer context.
Base & yield_existing(bool value=true)
Invoke the observer for anything that matches its query on creation.
Base & run(ecs_iter_action_t action)
Set the observer run callback.
Base & event(entity_t evt)
Specify the event(s) for when the observer should run.
observer_builder_i(ecs_observer_desc_t *desc)
Construct from an observer descriptor.
Base & observer_flags(ecs_flags32_t flags)
Set the observer flags.
Base & desc()
Use with cascade() to iterate results in descending (bottom-to-top) order.
Base & flags(flecs::flags64_t flags)
Override the term ID flags.