#define CR_HOST #include #include #include #include #include "type_context.h" #include "types.h" template struct entt::type_index { [[nodiscard]] static id_type value() ENTT_NOEXCEPT { static const entt::id_type value = type_context::instance()->value(entt::type_hash::value()); return value; } }; TEST(Lib, Registry) { entt::registry registry; for(auto i = 0; i < 3; ++i) { registry.emplace(registry.create(), i, i); } cr_plugin ctx; cr_plugin_load(ctx, PLUGIN); ctx.userdata = type_context::instance(); cr_plugin_update(ctx); ctx.userdata = ®istry; cr_plugin_update(ctx); ASSERT_EQ(registry.size(), registry.size()); ASSERT_EQ(registry.size(), registry.size()); registry.view().each([](auto entity, auto &position) { ASSERT_EQ(position.x, static_cast(entt::to_integral(entity) + 16u)); ASSERT_EQ(position.y, static_cast(entt::to_integral(entity) + 16u)); }); registry = {}; cr_plugin_close(ctx); }