#pragma once #include "resource_manager.hpp" #include #include namespace engine { class Scene; // "scene.hpp" namespace resources { class Texture; } class SceneManager { public: SceneManager(); ~SceneManager(); SceneManager(const SceneManager&) = delete; SceneManager& operator=(const SceneManager&) = delete; Scene* createScene(std::unique_ptr&& scene); void updateActiveScene(float ts); /* getters */ ResourceManager* getTextureManager() { return m_textureManager.get(); } private: std::vector> m_scenes; int m_activeSceneIndex = -1; std::unique_ptr> m_textureManager; }; }