slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Private 成员函数 | 静态 Private 成员函数 | 所有成员列表
z8::ResourceManager类 参考

应用级资源所有者和类型安全查询入口。 Manager 本身不是单例:Application 显式拥有它 更多...

#include <ResourceManager.h>

z8::ResourceManager 的协作图:
Collaboration graph
[图例]

Public 成员函数

 ResourceManager ()
 
template<typename T >
ResourceRef< StoredResourceTy< T > > Add (std::unique_ptr< T > resource)
 
template<typename T >
ResourceRef< StoredResourceTy< T > > Add (std::string assetId, std::unique_ptr< T > resource)
 
template<typename ResourceTy >
ResourceRef< ResourceTyResolve (const ResourceRef< ResourceTy > &reference) const
 
template<typename ResourceTy >
ResourceTyTryGet (ResourceRef< ResourceTy > reference)
 
template<typename ResourceTy >
const ResourceTyTryGet (ResourceRef< ResourceTy > reference) const
 

Public 属性

ResourcePool< BaseMeshMeshes
 
ResourcePool< BaseMaterialMaterials
 
ResourcePool< BaseShaderComponentShaders
 
ResourcePool< BaseShaderShaderPrograms
 
ResourcePool< BaseTextureTextures
 

Private 成员函数

template<typename T >
ResourcePool< T > & Pool ()
 
template<typename T >
const ResourcePool< T > & Pool () const
 
void RegisterBuiltinResources ()
 

静态 Private 成员函数

template<typename T >
static bool MatchesType (ResourceTy type)
 

详细描述

应用级资源所有者和类型安全查询入口。 Manager 本身不是单例:Application 显式拥有它

构造及析构函数说明

◆ ResourceManager()

z8::ResourceManager::ResourceManager ( )
inline
函数调用图:

成员函数说明

◆ Add() [1/2]

template<typename T >
ResourceRef< StoredResourceTy< T > > z8::ResourceManager::Add ( std::string assetId,
std::unique_ptr< T > resource )

使用加载边界提供的 ID 接管资源;适用于 FBX 等名称不属于 builtin URI 的资源。

◆ Add() [2/2]

template<typename T >
ResourceRef< StoredResourceTy< T > > z8::ResourceManager::Add ( std::unique_ptr< T > resource)
函数调用图:
这是这个函数的调用关系图:

◆ MatchesType()

template<typename T >
bool z8::ResourceManager::MatchesType ( ResourceTy type)
staticprivate

根据规范名称类别校验自动注册的 C++ 资源类型。

◆ Pool() [1/2]

template<typename T >
ResourcePool< T > & z8::ResourceManager::Pool ( )
private

返回指定资源基类唯一对应的类型池,集中维护类型到存储的映射。

◆ Pool() [2/2]

template<typename T >
const ResourcePool< T > & z8::ResourceManager::Pool ( ) const
private

const 池访问供 Resolve 和只读后端使用。

◆ RegisterBuiltinResources()

void ResourceManager::RegisterBuiltinResources ( )
private
函数调用图:
这是这个函数的调用关系图:

◆ Resolve()

template<typename ResourceTy >
ResourceRef< ResourceTy > z8::ResourceManager::Resolve ( const ResourceRef< ResourceTy > & reference) const

把携带 Asset ID 的引用解析为携带稳定 Index 的运行时引用,不执行 I/O。

函数调用图:

◆ TryGet() [1/2]

template<typename ResourceTy >
ResourceTy * z8::ResourceManager::TryGet ( ResourceRef< ResourceTy > reference)

仅在引用携带当前资源池的有效索引时返回资源观察指针。

◆ TryGet() [2/2]

template<typename ResourceTy >
const ResourceTy * z8::ResourceManager::TryGet ( ResourceRef< ResourceTy > reference) const

const 版本用于后端只读缓存构建。

类成员变量说明

◆ Materials

ResourcePool<BaseMaterial> z8::ResourceManager::Materials

◆ Meshes

ResourcePool<BaseMesh> z8::ResourceManager::Meshes

◆ ShaderPrograms

ResourcePool<BaseShader> z8::ResourceManager::ShaderPrograms

◆ Shaders

ResourcePool<BaseShaderComponent> z8::ResourceManager::Shaders

◆ Textures

ResourcePool<BaseTexture> z8::ResourceManager::Textures

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