1.5 KiB
1.5 KiB
ResourceFileSystem::EnumerateResources
方法签名
void EnumerateResources(const Containers::String& pattern, Containers::Array<ResourceInfo>& outResources) const;
所属类
XCEngine::Resources::ResourceFileSystem
描述
枚举所有匹配指定模式的资源。模式支持通配符(如 *.png、textures/** 等)。
此方法线程安全。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
pattern |
const Containers::String& |
文件名匹配模式 |
outResources |
Containers::Array<ResourceInfo>& |
输出容器,接收匹配的资源信息列表 |
返回值
无
示例
#include "Resources/ResourceFileSystem.h"
using namespace XCEngine::Resources;
ResourceFileSystem& fs = ResourceFileSystem::Get();
fs.Initialize("C:/Game/Resources");
fs.AddDirectory("C:/Game/Assets");
Containers::Array<ResourceInfo> resources;
// 枚举所有 PNG 纹理
fs.EnumerateResources("**/*.png", resources);
printf("Found %zu PNG files:\n", resources.Size());
for (const auto& res : resources) {
printf(" - %s (%zu bytes)\n", res.path.CStr(), res.size);
}
// 枚举所有着色器
resources.Clear();
fs.EnumerateResources("**/*.glsl", resources);
printf("Found %zu shader files:\n", resources.Size());
// 枚举特定目录下的资源
resources.Clear();
fs.EnumerateResources("textures/**/*.png", resources);
注意事项
- 当前实现尚未完成,输出容器可能为空
- 模式语法的具体支持情况待实现