1#ifndef _BOMBERMAN_MANAGERS_SCENE_MANAGER_H_
2#define _BOMBERMAN_MANAGERS_SCENE_MANAGER_H_
7#include <unordered_map>
9#include "Scenes/Scene.h"
31 void addScene(
const std::string& name, std::shared_ptr<Scene> scene);
49 void onEvent(
const SDL_Event& event);
55 void update(
const unsigned int delta);
67 std::unordered_map<std::string, std::shared_ptr<Scene>> scenes;
68 std::queue<std::shared_ptr<Scene>> removedScenes;
69 std::shared_ptr<Scene> currentScene =
nullptr;
Scene Manager.
Definition SceneManager.h:18
void removeScene(const std::string &name)
remove scene by name
Definition SceneManager.cpp:40
void onEvent(const SDL_Event &event)
send event to active scene
Definition SceneManager.cpp:61
void draw() const
draw objects of active scene
Definition SceneManager.cpp:79
void activateScene(const std::string &name)
activate scene by name
Definition SceneManager.cpp:21
void addScene(const std::string &name, std::shared_ptr< Scene > scene)
add scene to manager
Definition SceneManager.cpp:9
SceneManager()
Construct a new Scene Manager object.
Definition SceneManager.cpp:7
void update(const unsigned int delta)
update active scene
Definition SceneManager.cpp:67
Scene * getCurrentScene() const
Returns the currently active scene, or nullptr if none.
Definition SceneManager.h:64
Scene base class.
Definition Scene.h:17