# MeshLoader::Load ## 方法签名 ```cpp LoadResult Load(const Containers::String& path, const ImportSettings* settings = nullptr) override; ``` ## 详细描述 加载指定路径的网格资源文件。加载过程包括: 1. 提取文件扩展名并转换为小写 2. 验证文件格式是否支持 3. 读取文件数据到内存 4. 创建 `Mesh` 对象并设置基本信息(路径、名称、GUID) 5. 设置内存占用大小 当前实现专注于文件读取和基础资源创建框架,具体网格顶点数据、索引数据的解析由 `Mesh` 类在后续流程中完成。`settings` 参数当前未使用。 ## 参数 | 参数 | 类型 | 默认值 | 描述 | |------|------|--------|------| | path | `const Containers::String&` | - | 网格文件路径 | | settings | `const ImportSettings*` | `nullptr` | 导入设置(当前未使用) | ## 返回值 `LoadResult` - 加载结果对象,包含成功加载的 `Mesh` 指针或错误信息 ## 示例 ```cpp #include "Resources/MeshLoader.h" using namespace XCEngine::Resources; MeshLoader loader; LoadResult result = loader.Load("assets/models/player.fbx"); if (result.IsSuccess()) { Mesh* mesh = static_cast(result.GetResource()); printf("Loaded mesh: %s, GUID: %s, Size: %zu bytes\n", mesh->m_name.CStr(), mesh->m_guid.ToString().CStr(), mesh->m_memorySize); } else { printf("Failed to load mesh: %s\n", result.GetError().CStr()); } ``` ### 错误情况 - 不支持的文件格式:返回 `"Unsupported mesh format: "` - 文件读取失败:返回 `"Failed to read file: "`