easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
ResourceManager类 参考

资源管理器 单例懒汉模式 更多...

#include <ResourceManager.h>

Public 成员函数

void Initialize ()
 初始化资源库 提前获取资源
 
IMAGE * Fetch (std::string name)
 根据名字返回图片池中相应图片指针
 
AnimationResource AnimationFetch (std::string name)
 根据名字返回动画池中相应动画资源
 
bool IsAudio (std::string name)
 音频是否存在
 

静态 Public 成员函数

static ResourceManagerinstance ()
 获取实例
 

Private 成员函数

 ResourceManager ()
 
 ~ResourceManager ()
 
void Load (std::string name, std::string path, int wid, int hei)
 加载单张图片
 
void Load (std::string name, std::string path, int wid, int hei, int num)
 加载多张动画图片
 
void Load (std::string name, std::string path, const std::vector< Pair > &arr)
 加载多张动画图片
 
void Load (std::string name, std::string path, int wid, int hei, int num, int row, int col)
 加载Springsheet动画图片
 
void Load (std::string name, std::string path)
 加载音频媒体资源
 

Private 属性

std::unordered_map< std::string, IMAGE * > ImagePool
 图片池 [图片名字,图像句柄]
 
std::unordered_map< std::string, AnimationResourceanimationPool
 动画池 [动画名字,动画资源类]
 
std::unordered_map< std::string, std::string > AudioPool
 音频池 [音频名字,路径]
 

静态 Private 属性

static ResourceManagermanager = nullptr
 单例指针
 
static std::mutex m_Mutex
 
 

友元

class World
 
class AudioManager
 

详细描述

资源管理器 单例懒汉模式

参见
AudioManager

构造及析构函数说明

◆ ResourceManager()

ResourceManager::ResourceManager ( )
inlineprivate

◆ ~ResourceManager()

ResourceManager::~ResourceManager ( )
inlineprivate

成员函数说明

◆ AnimationFetch()

AnimationResource ResourceManager::AnimationFetch ( std::string name)

根据名字返回动画池中相应动画资源

参数
[in]name动画名字

◆ Fetch()

IMAGE * ResourceManager::Fetch ( std::string name)

根据名字返回图片池中相应图片指针

参数
[in]name图片名字

◆ Initialize()

void ResourceManager::Initialize ( )

初始化资源库 提前获取资源

备注
!!!用户使用图像资源需要在这里加载

◆ instance()

ResourceManager * ResourceManager::instance ( )
static

获取实例

◆ IsAudio()

bool ResourceManager::IsAudio ( std::string name)

音频是否存在

参数
[in]name音频名字

◆ Load() [1/5]

void ResourceManager::Load ( std::string name,
std::string path )
private

加载音频媒体资源

给音频路径一个别名

参数
[in]name音频名字
[in]path音频路径

◆ Load() [2/5]

void ResourceManager::Load ( std::string name,
std::string path,
const std::vector< Pair > & arr )
private

加载多张动画图片

备注
每一张图片都要指定大小即长宽
参数
[in]name动画名字
[in]path动画路径
[in]arr每一张图片大小容器

◆ Load() [3/5]

void ResourceManager::Load ( std::string name,
std::string path,
int wid,
int hei )
private

加载单张图片

加载单张图像资源,放在资源库

参数
[in]name图像名字
[in]path图像资源路径
[in]wid图像宽
[in]hei图像高

◆ Load() [4/5]

void ResourceManager::Load ( std::string name,
std::string path,
int wid,
int hei,
int num )
private

加载多张动画图片

备注
路径到文件 不用加结尾"/"
参数
[in]name动画名字
[in]path动画路径
[in]wid图像宽
[in]hei图像高
[in]num数量

◆ Load() [5/5]

void ResourceManager::Load ( std::string name,
std::string path,
int wid,
int hei,
int num,
int row,
int col )
private

加载Springsheet动画图片

参数
[in]name动画名字
[in]path动画路径
[in]wid图像宽
[in]hei图像高
[in]num总共数量
[in]row最大多少行
[in]col最大多少列

友元及相关符号说明

◆ AudioManager

friend class AudioManager
friend

◆ World

friend class World
friend

类成员变量说明

◆ animationPool

std::unordered_map<std::string, AnimationResource> ResourceManager::animationPool
private

动画池 [动画名字,动画资源类]

◆ AudioPool

std::unordered_map<std::string,std::string> ResourceManager::AudioPool
private

音频池 [音频名字,路径]

◆ ImagePool

std::unordered_map<std::string, IMAGE*> ResourceManager::ImagePool
private

图片池 [图片名字,图像句柄]

◆ m_Mutex

std::mutex ResourceManager::m_Mutex
staticprivate

◆ manager

ResourceManager * ResourceManager::manager = nullptr
staticprivate

单例指针