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

858 B

SceneManager::CreateScene

创建并登记一个新场景。

Scene* CreateScene(const std::string& name);

行为说明

当前实现会:

  1. 构造 std::make_unique<Scene>(name)
  2. 把场景存入 m_scenes[name]
  3. 如果当前没有活动场景,则把 m_activeScene 设为新场景。
  4. 触发 OnSceneLoaded

参数

  • name - 新场景名称,同时也是 m_scenes 的 key。

返回值

  • Scene* - 新场景的非拥有指针。

当前实现限制

  • 如果同名 key 已存在,旧场景会被替换;先前拿到的裸指针可能失效。
  • 当它成为第一个活动场景时,当前不会额外触发 OnActiveSceneChanged

相关文档