我需要为 ECS 编写一个函数,该函数接受可变数量的模板参数(组件)并且没有参数,并将返回附有这些组件的实体列表。
格式如下所示:
auto list = registry.getEntityGroupWithComponents<TransformComponent, RenderComponent>();
在函数中,我需要访问每个 Component 类的静态 ID 以确定要返回的实体,如下所示:
template <class... T>
std::vector<Entity> getEntityGroupWithComponents()
{
auto componentIDs = { T::s_id };
//return entities with all componentIDs in list
}
我已经搞砸了很多,无法想出任何产生这种行为的东西,但我很确定这是可能的,因为我认为我以前见过类似的 API。任何帮助将不胜感激,谢谢!