1.8 KiB
1.8 KiB
ProjectCommands
命名空间: XCEngine::Editor::Commands
类型: header-helper
源文件: editor/src/Commands/ProjectCommands.h
描述: 封装 Project 面板中与资源打开、目录创建、删除和移动相关的高层操作。
概述
ProjectCommands 当前是一个很轻量的命令头,但它已经把 Project 面板最基础的资源管理语义集中起来:
CanOpenAssetOpenAssetCreateFolderDeleteAssetMoveAssetToFolder
这让资源浏览面板不必直接操作底层 manager 细节。
当前实现
- 资源能否打开,当前只看两种情况:目录,或
item->type == "Scene" - 打开目录时调用
IProjectManager::NavigateToFolder - 打开场景资源时转发到
LoadScene - 创建目录和删除资源只做最小参数校验,然后委托给
IProjectManager - 资源拖入目录时会比较源路径与目标路径,避免把资源移动到自己身上
设计说明
现在这层看起来很薄,但它依然有存在价值。
原因在于 Project 面板的 UI 以后很可能持续变化,而“什么资源能打开、什么动作合法、如何调用 manager”这些规则应该集中在一个稳定位置。
这也是商业编辑器常见的演进路径:先用轻量命令层收口,等资源类型和导入系统成熟后,再逐渐扩展成完整 asset workflow。
当前限制
- 只能打开文件夹和场景资源
- 没有资源重命名、复制粘贴、导入和重新导入
- 删除和移动操作没有事务、确认框或冲突解决策略