docs: rebuild Scene API content
This commit is contained in:
@@ -1,31 +1,35 @@
|
||||
# SceneManager::CreateScene
|
||||
|
||||
创建新对象或资源。
|
||||
创建并登记一个新场景。
|
||||
|
||||
```cpp
|
||||
Scene* CreateScene(const std::string& name);
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Scene/SceneManager.h`,当前页面用于固定 `SceneManager` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:**
|
||||
- `name` - 参数语义详见头文件声明。
|
||||
当前实现会:
|
||||
|
||||
**返回:** `Scene*` - 返回值语义详见头文件声明。
|
||||
1. 构造 `std::make_unique<Scene>(name)`。
|
||||
2. 把场景存入 `m_scenes[name]`。
|
||||
3. 如果当前没有活动场景,则把 `m_activeScene` 设为新场景。
|
||||
4. 触发 [OnSceneLoaded](OnSceneLoaded.md)。
|
||||
|
||||
**示例:**
|
||||
## 参数
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Scene/SceneManager.h>
|
||||
- `name` - 新场景名称,同时也是 `m_scenes` 的 key。
|
||||
|
||||
void Example() {
|
||||
XCEngine::Components::SceneManager object;
|
||||
// 根据上下文补齐参数后调用 SceneManager::CreateScene(...)。
|
||||
(void)object;
|
||||
}
|
||||
```
|
||||
## 返回值
|
||||
|
||||
- `Scene*` - 新场景的非拥有指针。
|
||||
|
||||
## 当前实现限制
|
||||
|
||||
- 如果同名 key 已存在,旧场景会被替换;先前拿到的裸指针可能失效。
|
||||
- 当它成为第一个活动场景时,当前不会额外触发 [OnActiveSceneChanged](OnActiveSceneChanged.md)。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](SceneManager.md)
|
||||
- [返回模块目录](../Scene.md)
|
||||
- [返回类型总览](SceneManager.md)
|
||||
- [GetScene](GetScene.md)
|
||||
- [OnSceneLoaded](OnSceneLoaded.md)
|
||||
|
||||
Reference in New Issue
Block a user