docs: sync project browser docs
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# ProjectManager::CreateFolder
|
||||
|
||||
```cpp
|
||||
AssetItemPtr CreateFolder(const std::string& name);
|
||||
```
|
||||
|
||||
## 当前行为
|
||||
|
||||
`CreateFolder(...)` 当前在“当前目录”下创建新文件夹,而不是在任意传入路径下创建。
|
||||
|
||||
它会:
|
||||
|
||||
1. trim 输入名称
|
||||
2. 拒绝空名、`.`、`..` 和 Windows 非法文件名字符
|
||||
3. 在当前目录下计算唯一目标名
|
||||
4. 执行 `create_directory(...)`
|
||||
5. 刷新目录树
|
||||
6. 查回新建目录对应的 `AssetItem`
|
||||
7. 自动把它设为当前选中项
|
||||
|
||||
## 唯一命名规则
|
||||
|
||||
若目标目录已存在,当前会追加数字后缀:
|
||||
|
||||
- `New Folder`
|
||||
- `New Folder 1`
|
||||
- `New Folder 2`
|
||||
|
||||
这与 `tests/editor/test_action_routing.cpp` 的 `ProjectCommandsCreateFolderUsesUniqueDefaultName` 一致。
|
||||
|
||||
## 返回值语义
|
||||
|
||||
- 创建并刷新成功时,返回新目录对应的 `AssetItemPtr`
|
||||
- 参数非法、目录创建失败或刷新后无法重新解析该目录时,返回 `nullptr`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [ProjectManager](ProjectManager.md)
|
||||
- [RefreshCurrentFolder](RefreshCurrentFolder.md)
|
||||
- [ProjectCommands](../../Commands/ProjectCommands/ProjectCommands.md)
|
||||
Reference in New Issue
Block a user