docs: rebuild Scene API content

This commit is contained in:
2026-03-26 19:34:24 +08:00
parent dc252502ac
commit 5ca5ca1f19
40 changed files with 752 additions and 658 deletions

View File

@@ -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)