ShitEngine 1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
TypedCacheBase类 参考abstract

类型擦除缓存接口 —— ResourceManager 按资源类型注册缓存,经此统一遍历/清理 更多...

#include <Resource.h>

类 TypedCacheBase 继承关系图:
TypedResourceCache< Res >

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 同款按来源注销机制;引擎内置三类型不受影响)。

构造及析构函数说明

◆ ~TypedCacheBase()

virtual ~TypedCacheBase ( )
virtualdefault

成员函数说明

◆ clear()

virtual void clear ( )
pure virtual

在 TypedResourceCache< Res > 内被实现.

◆ forEachResource()

virtual void forEachResource ( const std::function< void(Resource *)> & fn) const
pure virtual

遍历缓存内全部资源封装(uuid 查询用;顺序不保证)

在 TypedResourceCache< Res > 内被实现.

◆ size()

virtual size_t size ( ) const
pure virtual

在 TypedResourceCache< Res > 内被实现.

◆ typeName()

virtual std::string_view typeName ( ) const
pure virtual

日志用类型名(来自 ResourceTraits<T>::kTypeName)

在 TypedResourceCache< Res > 内被实现.


该类的文档由以下文件生成: