#include #include #include #include "type_context.h" #include "types.h" struct ctx { inline static type_context *ref; }; template struct entt::type_seq { [[nodiscard]] static id_type value() ENTT_NOEXCEPT { static const entt::id_type value = ctx::ref->value(entt::type_hash::value()); return value; } }; CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) { switch (operation) { case CR_STEP: if(!ctx::ref) { ctx::ref = static_cast(ctx->userdata); } else { static_cast(ctx->userdata)->publish(); static_cast(ctx->userdata)->publish(42); static_cast(ctx->userdata)->publish(3); } break; case CR_CLOSE: case CR_LOAD: case CR_UNLOAD: // nothing to do here, this is only a test. break; } return 0; }