docs: update resources API docs
This commit is contained in:
60
docs/api/resources/resource-file-system/find-resource.md
Normal file
60
docs/api/resources/resource-file-system/find-resource.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# ResourceFileSystem::FindResource
|
||||
|
||||
## 方法签名
|
||||
|
||||
```cpp
|
||||
bool FindResource(const Containers::String& relativePath, Containers::String& outAbsolutePath) const;
|
||||
```
|
||||
|
||||
## 所属类
|
||||
|
||||
`XCEngine::Resources::ResourceFileSystem`
|
||||
|
||||
## 描述
|
||||
|
||||
查找指定相对路径的资源,并返回其绝对路径。搜索顺序为:目录(根路径 + 已注册目录)→ 档案。
|
||||
|
||||
此方法线程安全。
|
||||
|
||||
## 参数
|
||||
|
||||
| 参数名 | 类型 | 描述 |
|
||||
|--------|------|------|
|
||||
| `relativePath` | `const Containers::String&` | 资源的相对路径 |
|
||||
| `outAbsolutePath` | `Containers::String&` | 输出参数,接收资源的绝对路径 |
|
||||
|
||||
## 返回值
|
||||
|
||||
- `bool` - 找到资源返回 `true`,未找到返回 `false`
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
#include "Resources/ResourceFileSystem.h"
|
||||
|
||||
using namespace XCEngine::Resources;
|
||||
|
||||
ResourceFileSystem& fs = ResourceFileSystem::Get();
|
||||
fs.Initialize("C:/Game/Resources");
|
||||
fs.AddDirectory("C:/Game/Assets");
|
||||
|
||||
Containers::String absolutePath;
|
||||
|
||||
// 查找纹理资源
|
||||
if (fs.FindResource("textures/player/diffuse.png", absolutePath)) {
|
||||
printf("Found at: %s\n", absolutePath.CStr());
|
||||
// 使用绝对路径加载纹理
|
||||
} else {
|
||||
printf("Resource not found\n");
|
||||
}
|
||||
|
||||
// 查找着色器资源
|
||||
if (fs.FindResource("shaders/forward.glsl", absolutePath)) {
|
||||
printf("Shader at: %s\n", absolutePath.CStr());
|
||||
}
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 搜索路径格式应使用正斜杠 `/`
|
||||
- 档案内资源返回的绝对路径格式为 `archive://relative/path`
|
||||
Reference in New Issue
Block a user