Files
XCEngine/docs/api/XCEngine/Editor/Application/ReimportProjectAsset.md

1.4 KiB
Raw Blame History

Application::ReimportProjectAsset

强制重导单个 project asset并刷新当前项目的资产索引状态。

bool ReimportProjectAsset(const std::string& assetPath);

当前行为

  • assetPath 为空时直接返回 false
  • 否则先取全局 ResourceManager
  • 调用 resourceManager.Initialize()
  • 最后转发到:
resourceManager.ReimportProjectAsset(assetPath.c_str())

底层影响

Application 本身只是宿主层薄包装,真正的重导逻辑在 ResourceManager 内部完成。按当前实现,底层会:

  1. UnloadAll() 清空已加载资源对象
  2. 调用 AssetImportService::ReimportAsset(...) 强制重建单个资产的 artifact
  3. 刷新 ProjectAssetIndex
  4. 若能解析出有效 AssetGUID + relativePath,则更新 GUID 到路径的记忆映射

因此这不是“只重写磁盘文件”的静默操作,而是会影响 editor 当前资源查找状态的一次显式缓存维护。

返回值语义

  • 重导链路成功完成时返回 true
  • 路径为空、项目根无效、importer 无法处理该路径或底层导入失败时返回 false

相关文档