davey: walk up bases - close #1313
This commit is contained in:
@@ -131,6 +131,10 @@ static void present_element(const meta_any &obj, OnEntity on_entity) {
|
||||
ImGui::Text("%s: %s", label, underlying_type.data());
|
||||
}
|
||||
}
|
||||
|
||||
for([[maybe_unused]] const auto [id, base]: obj.type().base()) {
|
||||
present_element<Entity>(obj.allow_cast(base.type()), on_entity);
|
||||
}
|
||||
}
|
||||
|
||||
template<entity_like Entity, typename Allocator>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <SDL3/SDL_rect.h>
|
||||
#include <component/input_listener_component.h>
|
||||
#include <component/position_component.h>
|
||||
#include <component/rect_component.h>
|
||||
@@ -8,6 +9,18 @@
|
||||
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::UP>("up")
|
||||
@@ -19,17 +32,16 @@ void meta_setup() {
|
||||
.type("input listener")
|
||||
.data<&input_listener_component::command>("command");
|
||||
|
||||
entt::meta_factory<SDL_FPoint>()
|
||||
.type("point");
|
||||
|
||||
entt::meta_factory<position_component>()
|
||||
.type("position")
|
||||
.data<&SDL_FPoint::x>("x")
|
||||
.data<&SDL_FPoint::y>("y");
|
||||
.base<SDL_FPoint>();
|
||||
|
||||
entt::meta_factory<rect_component>()
|
||||
.type("rect")
|
||||
.data<&SDL_FRect::x>("x")
|
||||
.data<&SDL_FRect::y>("y")
|
||||
.data<&SDL_FRect::w>("w")
|
||||
.data<&SDL_FRect::h>("h");
|
||||
.base<SDL_FRect>();
|
||||
|
||||
entt::meta_factory<renderable_component>()
|
||||
.type("renderable");
|
||||
|
||||
Reference in New Issue
Block a user