我写了一个包含AssedtID的资源管理器,它是资产的句柄。例如纹理。
类似的东西:
class ResourceManager{
std::map<std::string, AssetID> images;
getAsset();
....
}
class AssetID{
std::string path;
getTexture();
}
现在,如果数据库中的图片在运行时发生变化,我想要使用旧的assetid的新图片。 我创建了一个观察者类,如果数据库发生了变化,它会向我发出警告。我想到的一个解决方案是遍历所有ID并检查链接是否已损坏。但是,考虑到路径相同但图片不同的用例,但旧纹理已经加载。
也许有人知道一个必须处理这个问题的引擎。因为我唯一的想法是解码所有纹理并检查它们是否与旧纹理相同