#include typedef struct { double value; } Mass; int main(int argc, char *argv[]) { // Passing in the command line arguments will allow the explorer to display // the application name. ecs_world_t *world = ecs_init_w_args(argc, argv); ECS_IMPORT(world, FlecsUnits); ECS_IMPORT(world, FlecsMonitor); // Collect statistics periodically // Mass component ECS_COMPONENT(world, Mass); ecs_struct(world, { .entity = ecs_id(Mass), .members = { { .name = "value", .type = ecs_id(ecs_f64_t), .unit = EcsKiloGrams} } }); // Simple hierarchy ecs_entity_t Sun = ecs_new_entity(world, "Sun"); ecs_set(world, Sun, Mass, {1.988500e31}); ecs_set_scope(world, Sun); ecs_entity_t Earth = ecs_new_entity(world, "Earth"); ecs_set(world, Earth, Mass, {5.9722e24}); ecs_set_scope(world, Earth); ecs_entity_t Moon = ecs_new_entity(world, "Moon"); ecs_set(world, Moon, Mass, {7.34767309e22}); // Restore default hierarchy scope to root ecs_set_scope(world, 0); // Run application with REST interface. When the application is running, // navigate to https://flecs.dev/explorer to inspect it! // // See docs/RestApi.md#explorer for more information. return ecs_app_run(world, &(ecs_app_desc_t){ .enable_rest = true }); }