Files
XCEngine/docs/api/XCEngine/Editor/Managers/ProjectManager/ProjectManager.md

1.4 KiB

ProjectManager

命名空间: XCEngine::Editor

类型: class

源文件: editor/src/Managers/ProjectManager.h

描述: IProjectManager 的默认实现,负责扫描项目 Assets 目录、维护面包屑路径,并支持基础文件夹与文件操作。

概述

ProjectManager 当前本质上是一个面向 Assets 目录的轻量文件系统浏览器。

它负责:

  • 初始化项目目录结构
  • 扫描目录并构建 AssetItem
  • 维护当前路径栈
  • 创建文件夹、删除项、移动项

当前实现说明

  • Initialize(projectPath) 会确保 <project>/Assets 以及若干默认子目录存在。
  • 若第一次初始化发现目录不存在,会自动创建 Textures/Models/Scripts/Materials/Scenes 等目录,并生成少量示例文件。
  • GetCurrentItems() 返回当前路径末尾节点的 children
  • 目录扫描时,文件夹会排在文件前面,并按名字排序。
  • 资源类型当前按扩展名启发式推断,例如 .png -> Texture.fbx -> Model.cs/.cpp/.h -> Script

当前实现边界

  • 目前是实时扫描树,不是文件系统监听模式。
  • 异常处理大多是吞掉异常并保持当前状态,错误反馈很弱。
  • 类型判断完全靠扩展名映射,不依赖资源导入数据库。

相关文档