我正在尝试在 C++ 中制作自己的 CBGE(基于组件的游戏引擎),但我被困在这个问题上:如何查找对象是否属于特定类?或与指针等效,我如何找到指针是否指向特定类的对象?让我举个例子:
我的代码中有这个:
//ComponentManager.h
...
std::map<rUUID, std::vector<Component*>> bucket;
...
其中 rUUID 是一个代表 UUID 的类,而 Component 是一个抽象类,代表一个实体可以拥有的所有类型的组件。
现在我怎样才能为给定的 rUUID 获取特定类型的组件(例如 PositionComponent)?
也有人可以告诉我这种设计是好的还是坏的做法,如果是这样,它应该如何形成?