Files
XCEngine/docs/api/resources/resourcepath/resourcepath.md
ssdfasd 8df04c120f docs: 更新 API 文档 - 多模块修复和完善
- audio: 更新 audio-system 方法文档
- components: 新增 audio-listener/audio-source 组件方法文档,新增 remove-component 方法
- core: 更新 filewriter, types 文档
- math: 更新 box 方法文档
- memory: 更新 proxy-allocator 文档
- resources: 更新 loader 和 texture 文档
- rhi: 更新 opengl 设备、shader、swap-chain 文档
- threading: 更新 mutex 和 task-system 文档
2026-03-26 01:58:45 +08:00

2.5 KiB

ResourcePath

命名空间: XCEngine::Resources

类型: class

头文件: XCEngine/Resources/ResourcePath.h

描述: 资源路径封装类,提供路径解析、转换和 GUID 生成功能。

概述

ResourcePath 封装了资源路径字符串,提供了一系列便捷方法进行路径解析、扩展名检查和 GUID 转换。

头文件

#include <XCEngine/Resources/ResourcePath.h>

公共方法

构造

方法 描述
ResourcePath() = default 默认构造空路径
ResourcePath(const char* path) 从 C 字符串构造
ResourcePath(const Containers::String& path) 从 String 构造

路径解析

方法 描述
Containers::String GetExtension() const 获取文件扩展名
Containers::String GetStem() const 获取文件名(不含扩展名)
Containers::String GetFullPath() const 获取完整路径
Containers::String GetFileName() const 获取文件名(含扩展名)
Containers::String GetDirectory() const 获取目录部分
Containers::String GetRelativePath() const 获取相对路径

GUID 转换

方法 描述
ResourceGUID ToGUID() const 将路径转换为 GUID

扩展名检查

方法 描述
bool HasExtension(const char* ext) const 检查是否具有指定扩展名
bool HasAnyExtension(const char* const* extensions, Core::uint32 count) const 检查是否具有任意指定扩展名

状态

方法 描述
bool IsValid() const 检查路径是否有效(非空)
const Containers::String& GetPath() const 获取原始路径字符串
void SetPath(const Containers::String& path) 设置路径字符串

使用示例

ResourcePath path("textures/player.png");

// 路径解析
Containers::String ext = path.GetExtension();     // ".png"
Containers::String name = path.GetFileName();      // "player.png"
Containers::String dir = path.GetDirectory();    // "textures"

// 扩展名检查
if (path.HasExtension(".png") || path.HasExtension(".jpg")) {
    // 是图像文件
}

// 转换为 GUID
ResourceGUID guid = path.ToGUID();

// 在 HashMap 中作为键使用
Containers::HashMap<ResourcePath, ResourceHandle<Texture>> textures;

相关文档