docs: update resources API docs
This commit is contained in:
63
docs/api/resources/resource-file-system/exists.md
Normal file
63
docs/api/resources/resource-file-system/exists.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# ResourceFileSystem::Exists
|
||||
|
||||
## 方法签名
|
||||
|
||||
```cpp
|
||||
bool Exists(const Containers::String& relativePath) const;
|
||||
```
|
||||
|
||||
## 所属类
|
||||
|
||||
`XCEngine::Resources::ResourceFileSystem`
|
||||
|
||||
## 描述
|
||||
|
||||
检查指定相对路径的资源是否存在。该方法会搜索所有已注册的目录和档案。
|
||||
|
||||
此方法线程安全。
|
||||
|
||||
## 参数
|
||||
|
||||
| 参数名 | 类型 | 描述 |
|
||||
|--------|------|------|
|
||||
| `relativePath` | `const 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");
|
||||
fs.AddArchive("C:/Game/Paks/Textures.pak");
|
||||
|
||||
// 检查各种资源是否存在
|
||||
if (fs.Exists("textures/player/diffuse.png")) {
|
||||
// 加载纹理
|
||||
}
|
||||
|
||||
if (fs.Exists("shaders/forward.glsl")) {
|
||||
// 加载着色器
|
||||
}
|
||||
|
||||
if (fs.Exists("audio/bgm/main_theme.ogg")) {
|
||||
// 加载音频
|
||||
}
|
||||
|
||||
// 检查可能不存在的资源
|
||||
if (!fs.Exists("textures/legacy/old_texture.png")) {
|
||||
printf("Using default texture\n");
|
||||
}
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 内部调用 `FindResource` 实现
|
||||
- 档案中的资源同样可以被检查
|
||||
Reference in New Issue
Block a user