Files
XCEngine/docs/api/XCEngine/Editor/Commands/ProjectCommands/ProjectCommands.md

1.8 KiB

ProjectCommands

命名空间: XCEngine::Editor::Commands

类型: header-helper

源文件: editor/src/Commands/ProjectCommands.h

描述: 封装 Project 面板中与资源打开、目录创建、删除和移动相关的高层操作。

概述

ProjectCommands 当前是一个很轻量的命令头,但它已经把 Project 面板最基础的资源管理语义集中起来:

  • CanOpenAsset
  • OpenAsset
  • CreateFolder
  • DeleteAsset
  • MoveAssetToFolder

这让资源浏览面板不必直接操作底层 manager 细节。

当前实现

  • 资源能否打开,当前只看两种情况:目录,或 item->type == "Scene"
  • 打开目录时调用 IProjectManager::NavigateToFolder
  • 打开场景资源时转发到 LoadScene
  • 创建目录和删除资源只做最小参数校验,然后委托给 IProjectManager
  • 资源拖入目录时会比较源路径与目标路径,避免把资源移动到自己身上

设计说明

现在这层看起来很薄,但它依然有存在价值。
原因在于 Project 面板的 UI 以后很可能持续变化,而“什么资源能打开、什么动作合法、如何调用 manager”这些规则应该集中在一个稳定位置。

这也是商业编辑器常见的演进路径:先用轻量命令层收口,等资源类型和导入系统成熟后,再逐渐扩展成完整 asset workflow。

当前限制

  • 只能打开文件夹和场景资源
  • 没有资源重命名、复制粘贴、导入和重新导入
  • 删除和移动操作没有事务、确认框或冲突解决策略

相关文档