1.1 KiB
1.1 KiB
ProjectManager::CreateFolder
AssetItemPtr CreateFolder(const std::string& name);
当前行为
CreateFolder(...) 当前在“当前目录”下创建新文件夹,而不是在任意传入路径下创建。
它会:
- trim 输入名称
- 拒绝空名、
.、..和 Windows 非法文件名字符 - 在当前目录下计算唯一目标名
- 执行
create_directory(...) - 刷新目录树
- 查回新建目录对应的
AssetItem - 自动把它设为当前选中项
唯一命名规则
若目标目录已存在,当前会追加数字后缀:
New FolderNew Folder 1New Folder 2
这与 tests/Editor/test_action_routing.cpp 的 ProjectCommandsCreateFolderUsesUniqueDefaultName 一致。
返回值语义
- 创建并刷新成功时,返回新目录对应的
AssetItemPtr - 参数非法、目录创建失败或刷新后无法重新解析该目录时,返回
nullptr