Prodislexos Game
Cyberpunk Game
Carregando...
Procurando...
Nenhuma entrada encontrado
SceneManager.h
Ir para a documentação desse arquivo.
1#ifndef _GERENCIADOR_DE_CENAS_H
2#define _GERENCIADOR_DE_CENAS_H
3
4#include <stack>
5#include <memory>
6#include "Scene.h"
7#include <SFML/Graphics.hpp>
8
15private:
16 static SceneManager *singleton;
17 SceneManager();
18 std::stack<std::unique_ptr<Scene>> cenas;
19
20 sf::RectangleShape fadeShape;
21 float fadeOpacity;
22 bool fadingIn;
23 bool fadingOut;
24 std::unique_ptr<Scene> nextScene;
25
26 void startFadeIn();
27 void startFadeOut(std::unique_ptr<Scene> novaCena);
28
29public:
30 void operator=(const SceneManager&) = delete;
31 SceneManager(const SceneManager&) = delete;
33
34 static SceneManager* getInstance();
35
36 void mudarCena(std::unique_ptr<Scene> novaCena);
37 void empilharCena(std::unique_ptr<Scene> novaCena);
38 void desempilharCena();
39
40 void atualizarCenaAtual();
42 void processarEventosCenaAtual(const sf::Event& evento);
43};
44
45#endif
Classe SceneManager é responsável por gerenciar as cenas do jogo. Utiliza o padrão Singleton para gar...
Definição SceneManager.h:14
void renderizarCenaAtual()
Definição SceneManager.cpp:85
void operator=(const SceneManager &)=delete
Evitando atribuições do objeto.
~SceneManager()
Definição SceneManager.cpp:12
void desempilharCena()
Definição SceneManager.cpp:46
SceneManager(const SceneManager &)=delete
Evitando cópias do objeto.
static SceneManager * getInstance()
Definição SceneManager.cpp:14
void empilharCena(std::unique_ptr< Scene > novaCena)
Definição SceneManager.cpp:38
void processarEventosCenaAtual(const sf::Event &evento)
Definição SceneManager.cpp:95
void atualizarCenaAtual()
Definição SceneManager.cpp:56
void mudarCena(std::unique_ptr< Scene > novaCena)
Definição SceneManager.cpp:34