davey: walk up bases - close #1313

This commit is contained in:
skypjack
2026-02-18 15:18:04 +01:00
parent 657f2aade4
commit 7cd612cc87
2 changed files with 22 additions and 6 deletions

View File

@@ -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>

View File

@@ -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");