![]() |
ShitEngine 1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
|
类型擦除缓存接口 —— ResourceManager 按资源类型注册缓存,经此统一遍历/清理 更多...
#include <Resource.h>
Public 成员函数 | |
| virtual | ~TypedCacheBase ()=default |
| virtual void | clear ()=0 |
| virtual size_t | size () const =0 |
| virtual std::string_view | typeName () const =0 |
| 日志用类型名(来自 ResourceTraits<T>::kTypeName) | |
| virtual void | forEachResource (const std::function< void(Resource *)> &fn) const =0 |
| 遍历缓存内全部资源封装(uuid 查询用;顺序不保证) | |
类型擦除缓存接口 —— ResourceManager 按资源类型注册缓存,经此统一遍历/清理
引擎/插件侧新增的资源类型缓存都以此基类指针进入管理器的类型注册表, GetResourceByUuid / 全量清理 / 日志计数只依赖本接口(无跨 DLL 模板问题)。
注意:插件侧实例化的 TypedResourceCache<T> 其虚函数实现在插件 DLL 内—— 插件热卸载前必须先 ResourceManager::Clear<T>() 清掉该类型缓存,否则引擎 关停遍历注册表会调进已卸载模块(将来做插件资源需补 System:: unregisterSystemsBySource 同款按来源注销机制;引擎内置三类型不受影响)。
|
virtualdefault |
|
pure virtual |
在 TypedResourceCache< Res > 内被实现.
|
pure virtual |
遍历缓存内全部资源封装(uuid 查询用;顺序不保证)
在 TypedResourceCache< Res > 内被实现.
|
pure virtual |
在 TypedResourceCache< Res > 内被实现.
|
pure virtual |
日志用类型名(来自 ResourceTraits<T>::kTypeName)
在 TypedResourceCache< Res > 内被实现.