| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #include <SDL3/SDL_rect.h>
- #include <component/input_listener_component.h>
- #include <component/position_component.h>
- #include <component/rect_component.h>
- #include <component/renderable_component.h>
- #include <component/velocity_component.h>
- #include <entt/meta/factory.hpp>
- #include <meta/meta.h>
- namespace testbed {
- void meta_setup() {
- entt::meta_factory<SDL_FPoint>()
- .type("sdl_fpoint")
- .data<&SDL_FPoint::x>("x")
- .data<&SDL_FPoint::y>("y");
- entt::meta_factory<SDL_FRect>()
- .type("sdl_frect")
- .data<&SDL_FRect::x>("x")
- .data<&SDL_FRect::y>("y")
- .data<&SDL_FRect::w>("w")
- .data<&SDL_FRect::h>("h");
- entt::meta_factory<input_listener_component::type>()
- .type("command type")
- .data<input_listener_component::type::NONE>("none")
- .data<input_listener_component::type::UP>("up")
- .data<input_listener_component::type::DOWN>("down")
- .data<input_listener_component::type::LEFT>("left")
- .data<input_listener_component::type::RIGHT>("right");
- entt::meta_factory<input_listener_component>()
- .type("input listener")
- .data<&input_listener_component::command>("command");
- entt::meta_factory<SDL_FPoint>()
- .type("point");
- entt::meta_factory<position_component>()
- .type("position")
- .base<SDL_FPoint>();
- entt::meta_factory<rect_component>()
- .type("rect")
- .base<SDL_FRect>();
- entt::meta_factory<renderable_component>()
- .type("renderable");
- entt::meta_factory<velocity_component>()
- .type("velocity")
- .data<&velocity_component::dx>("dx")
- .data<&velocity_component::dy>("dy");
- }
- } // namespace testbed
|