#include #include #include "types.h" CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) { switch (operation) { case CR_STEP: [ctx]() { auto *registry = static_cast(ctx->userdata); // forces the creation of the pool for the velocity component registry->prepare(); for(auto entity: registry->view()) { registry->assign(entity, 1., 1.); } registry->view().each([](auto &pos, auto &vel) { pos.x += 16 * vel.dx; pos.y += 16 * vel.dy; }); }(); break; case CR_CLOSE: static_cast(ctx->userdata)->discard(); break; case CR_LOAD: case CR_UNLOAD: // nothing to do here, this is only a test. break; } return 0; }