858 B
858 B
SceneManager::CreateScene
创建并登记一个新场景。
Scene* CreateScene(const std::string& name);
行为说明
当前实现会:
- 构造
std::make_unique<Scene>(name)。 - 把场景存入
m_scenes[name]。 - 如果当前没有活动场景,则把
m_activeScene设为新场景。 - 触发 OnSceneLoaded。
参数
name- 新场景名称,同时也是m_scenes的 key。
返回值
Scene*- 新场景的非拥有指针。
当前实现限制
- 如果同名 key 已存在,旧场景会被替换;先前拿到的裸指针可能失效。
- 当它成为第一个活动场景时,当前不会额外触发 OnActiveSceneChanged。