Files
XCEngine/docs/api/XCEngine/Scene/SceneManager/LoadScene.md

38 lines
870 B
Markdown
Raw Normal View History

2026-03-26 16:45:24 +08:00
# SceneManager::LoadScene
2026-03-26 19:34:24 +08:00
从文件加载并登记一个场景。
2026-03-26 16:45:24 +08:00
```cpp
void LoadScene(const std::string& filePath);
```
2026-03-26 19:34:24 +08:00
## 行为说明
2026-03-26 16:45:24 +08:00
2026-03-26 19:34:24 +08:00
当前实现会:
2026-03-26 16:45:24 +08:00
2026-03-26 19:34:24 +08:00
1. 构造一个默认 `Scene`
2. 调用 `scene->Load(filePath)`
3.`filePath` 中提取“文件名去扩展名”的字符串作为 map key。
4. 把场景存入 `m_scenes[key]`
5. 触发 [OnSceneLoaded](OnSceneLoaded.md)。
2026-03-26 16:45:24 +08:00
2026-03-26 19:34:24 +08:00
## 参数
2026-03-26 16:45:24 +08:00
2026-03-26 19:34:24 +08:00
- `filePath` - 场景文件路径。
2026-03-26 16:45:24 +08:00
2026-03-26 19:34:24 +08:00
## 返回值
- 无。
## 当前实现限制
- 当前不会在首次加载时自动设置 `m_activeScene`
- 如果同 key 场景已存在,旧场景会被替换。
- `Scene::GetName()` 可能来自文件内部内容,而 `SceneManager` 保存的 key 来自文件名,两者可能不同。
2026-03-26 16:45:24 +08:00
## 相关文档
2026-03-26 19:34:24 +08:00
- [返回类型总览](SceneManager.md)
- [LoadSceneAsync](LoadSceneAsync.md)
- [GetScene](GetScene.md)