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

992 B
Raw Blame History

SceneManager::SetActiveScene

设置活动场景。

void SetActiveScene(Scene* scene);
void SetActiveScene(const std::string& sceneName);

行为说明

当前有两个重载:

  • 指针重载会在 m_activeScene != scene 时直接写入 m_activeScene = scene,然后触发 OnActiveSceneChanged
  • 字符串重载会先在 m_scenes 中查找 key找到后再调用指针重载。

参数

  • scene - 目标活动场景指针。
  • sceneName - 目标场景 key。

返回值

  • 无。

当前实现限制

  • 指针重载不会校验 scene 是否真的来自 SceneManager 当前持有的场景集合。
  • 当前不会同步 Scene::SetActive()
  • 如果传入的指针就是当前活动场景,不会触发事件。
  • 传入 nullptr 时,如果当前活动场景非空,会把活动场景清空并触发切换事件。

相关文档