R-Type  1.0.1.0
Rewrite of the R-Type game with networking ability
Loading...
Searching...
No Matches
SceneManager.hpp
1/*
2** EPITECH PROJECT, 2023
3** SceneManager.hpp
4** File description:
5** SceneManager.hpp
6*/
7
8#ifndef URANUS_SCENEMANAGER_HPP
9#define URANUS_SCENEMANAGER_HPP
10
11#include "uranus/engine/components/Scene.hpp"
12
13namespace engine {
14
16 public:
17 explicit SceneManager() = default;
18
19 ~SceneManager() = default;
20
21 void addScene(const std::shared_ptr<engine::Scene> &newScene);
22
23 void changeScene(const std::string &sceneToSwitch);//switch scene at the end of gameLoop
24
25 void switchScene(); //manually switch scene
26
27 const std::shared_ptr<engine::Scene> &getActualScene() const;
28
29 private:
30 std::string _sceneToSwitch;
31 std::shared_ptr<engine::Scene> _actualScene;
32 std::vector<std::shared_ptr<engine::Scene>> _scenes;
33 };
34} // namespace engine
35
36#endif // URANUS_SCENEMANAGER_HPP
Definition: SceneManager.hpp:15