Flecs v4.0
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
builder.hpp
Go to the documentation of this file.
1
6#pragma once
7
9#include "builder_i.hpp"
10
11namespace flecs {
12namespace _ {
13 template <typename ... Components>
14 using alert_builder_base = builder<
15 alert, ecs_alert_desc_t, alert_builder<Components...>,
16 alert_builder_i, Components ...>;
17}
18
23template <typename ... Components>
24struct alert_builder final : _::alert_builder_base<Components...> {
25 alert_builder(flecs::world_t* world, const char *name = nullptr)
26 : _::alert_builder_base<Components...>(world)
27 {
28 _::sig<Components...>(world).populate(this);
29 if (name != nullptr) {
30 ecs_entity_desc_t entity_desc = {};
31 entity_desc.name = name;
32 entity_desc.sep = "::";
33 entity_desc.root_sep = "::";
34 this->desc_.entity = ecs_entity_init(world, &entity_desc);
35 }
36 }
37};
38
39}
Alert builder interface.
struct ecs_alert_desc_t ecs_alert_desc_t
Alert descriptor, used with ecs_alert_init().
ecs_entity_t ecs_entity_init(ecs_world_t *world, const ecs_entity_desc_t *desc)
Find or create an entity.
Used with ecs_entity_init().
Definition flecs.h:938
const char * sep
Optional custom separator for hierarchical names.
Definition flecs.h:950
const char * root_sep
Optional, used for identifiers relative to root.
Definition flecs.h:954
const char * name
Name of the entity.
Definition flecs.h:945
Alert builder.
Definition builder.hpp:24
The world.
Definition world.hpp:137
Builder base class.