#include #include "types.h" #ifndef LIB_EXPORT #if defined _WIN32 || defined __CYGWIN__ #define LIB_EXPORT __declspec(dllexport) #elif defined __GNUC__ #define LIB_EXPORT __attribute__((visibility("default"))) #else #define LIB_EXPORT #endif #endif LIB_EXPORT typename entt::component int_type() { entt::registry registry; (void)registry.type(); (void)registry.type(); return registry.type(); } LIB_EXPORT typename entt::component char_type() { entt::registry registry; (void)registry.type(); (void)registry.type(); return registry.type(); } LIB_EXPORT void update_position(int delta, entt::registry ®istry) { registry.view().each([delta](auto &pos, auto &vel) { pos.x += delta * vel.dx; pos.y += delta * vel.dy; }); } LIB_EXPORT void assign_velocity(int vel, entt::registry ®istry) { for(auto entity: registry.view()) { registry.assign(entity, vel, vel); } }