Add component size/stride in ecs component info
All checks were successful
Run tests / Run tests (push) Successful in 7m41s

This commit is contained in:
Nikita Lisitsa 2026-08-17 17:45:44 +03:00
parent 7e9596d77f
commit 4aa18c4fda

View file

@ -36,6 +36,7 @@ namespace psemek::ecs::detail
struct component_info struct component_info
{ {
std::string name; std::string name;
std::size_t stride;
std::type_info const * type_info; std::type_info const * type_info;
util::function<std::unique_ptr<column>()> column_factory; util::function<std::unique_ptr<column>()> column_factory;
util::function<std::string(void const *)> to_string; util::function<std::string(void const *)> to_string;
@ -56,6 +57,7 @@ namespace psemek::ecs::detail
component_info & info = components_[uuid]; component_info & info = components_[uuid];
info.name = component_name<Component>(); info.name = component_name<Component>();
info.stride = stride<Component>();
info.type_info = &typeid(Component); info.type_info = &typeid(Component);
info.column_factory = []{ info.column_factory = []{
return std::make_unique<column_impl<Component>>(); return std::make_unique<column_impl<Component>>();