|
ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
|
场景管理器(单例) 更多...
#include <SceneManager.h>
Public 成员函数 | |
| SceneManager (const SceneManager &)=delete | |
| SceneManager & | operator= (const SceneManager &)=delete |
| SceneManager (SceneManager &&)=delete | |
| SceneManager & | operator= (SceneManager &&)=delete |
静态 Public 成员函数 | |
| static SceneManager & | GetInstance () |
| static void | Update () |
| 更新当前场景 | |
| static void | Destroy () |
| 销毁所有场景 | |
| static void | PushScene (std::unique_ptr< Scene > &&scene) |
| 压入新场景(下个帧循环生效) | |
| static void | PopScene () |
| 弹出栈顶场景(下个帧循环生效) | |
| static void | ClearScene () |
| 清空场景栈 | |
| static void | ReplaceScene (std::unique_ptr< Scene > &&scene) |
| 替换栈顶场景 | |
场景管理器(单例)
使用栈结构管理场景生命周期。任何时候只有栈顶场景处于活跃状态。 所有操作延迟到 Update() 时执行,保证迭代安全。
用法: SceneManager::PushScene(std::move(myScene)); SceneManager::ReplaceScene(std::move(gameScene)); SceneManager::PopScene(); SceneManager::ClearScene();
|
delete |
|
delete |
|
inlinestatic |
清空场景栈
|
inlinestatic |
销毁所有场景
|
static |
|
delete |
|
delete |
|
inlinestatic |
弹出栈顶场景(下个帧循环生效)
|
inlinestatic |
压入新场景(下个帧循环生效)
|
inlinestatic |
替换栈顶场景
|
inlinestatic |
更新当前场景