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