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

37 lines
992 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SceneManager::SetActiveScene
设置活动场景。
```cpp
void SetActiveScene(Scene* scene);
void SetActiveScene(const std::string& sceneName);
```
## 行为说明
当前有两个重载:
- 指针重载会在 `m_activeScene != scene` 时直接写入 `m_activeScene = scene`,然后触发 [OnActiveSceneChanged](OnActiveSceneChanged.md)。
- 字符串重载会先在 `m_scenes` 中查找 key找到后再调用指针重载。
## 参数
- `scene` - 目标活动场景指针。
- `sceneName` - 目标场景 key。
## 返回值
- 无。
## 当前实现限制
- 指针重载不会校验 `scene` 是否真的来自 `SceneManager` 当前持有的场景集合。
- 当前不会同步 `Scene::SetActive()`
- 如果传入的指针就是当前活动场景,不会触发事件。
- 传入 `nullptr` 时,如果当前活动场景非空,会把活动场景清空并触发切换事件。
## 相关文档
- [返回类型总览](SceneManager.md)
- [GetActiveScene](GetActiveScene.md)