32 lines
748 B
Markdown
32 lines
748 B
Markdown
|
|
# IResourceLoader::CanLoad
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
virtual bool CanLoad(const Containers::String& path) const = 0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
纯虚方法,检查此加载器是否能加载指定路径的资源。通过比对路径扩展名与支持列表判断。
|
|||
|
|
|
|||
|
|
**参数:**
|
|||
|
|
- `path` - 资源路径
|
|||
|
|
|
|||
|
|
**返回:** 如果扩展名在支持列表中则返回 true
|
|||
|
|
|
|||
|
|
**复杂度:** O(k),k 为扩展名数量
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
bool TextureLoader::CanLoad(const Containers::String& path) const {
|
|||
|
|
Containers::String ext = GetExtension(path);
|
|||
|
|
auto supported = GetSupportedExtensions();
|
|||
|
|
for (const auto& s : supported) {
|
|||
|
|
if (ext == s) return true;
|
|||
|
|
}
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [IResourceLoader 总览](resource-loader.md) - 返回类总览
|