Add Scene Base Class

This commit is contained in:
2025-12-06 10:25:14 +08:00
parent db87a54e8b
commit c0d67926c4
3 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
#pragma once
#include "Scene.h"
#include <string>
#include <stack>
#include <memory>
#include <unordered_map>
class SceneManager {
public:
SceneManager();
~SceneManager();
void PushScene(const std::string& sceneName, std::unique_ptr<Scene> scene);
void PopScene();
void ChangeScene(const std::string& sceneName, std::unique_ptr<Scene> scene);
private:
// 用栈的形式来存储场景
std::stack<std::unique_ptr<Scene>> m_scenes;
std::unordered_map<std::string, std::unique_ptr<Scene>> m_sceneCache;
};