Prodislexos Game
Cyberpunk Game
Carregando...
Procurando...
Nenhuma entrada encontrado
Renderer.h
Ir para a documentação desse arquivo.
1#ifndef RENDERER_H
2#define RENDERER_H
3
4#include <SFML/Graphics.hpp>
5#include <vector>
6#include <memory>
7
11namespace Gerenciador{
27class Renderer {
28private:
29 static int camadaJanela;
30 static Renderer* singleton;
31 sf::RenderWindow janela;
32 sf::View camera;
33 std::vector<std::pair<const sf::Drawable*, int>> drawables;
34 sf::Shader shader;
35 bool shaderCarregado;
36 bool isShader;
37 sf::FloatRect caixaDeMovimento ;
38 Renderer(int largura, int altura, const std::string& titulo);
39 ~Renderer();
40public:
41 // Apagando operações
42 void operator=(const Renderer&) = delete;
43 Renderer(const Renderer&) = delete;
44
53 static Renderer *getInstance(int largura = 1280, int altura = 720, const std::string& titulo = "Prodilexos Game");
54
61 void addDrawable(const sf::Drawable& drawable, int camada = 4); // Adiciona um elemento para ser desenhado
62
66 void clearDrawables();
67
71 void render();
72
77 bool isOpen();
78
82 void close();
83
89 void moveCamera(float x, float y);
90
96 void setCentroCamera(float x, float y);
97
104 void setTamanhoCamera(float largura, float altura);
105
111 bool pollEvent(sf::Event &evento);
112
117 sf::Vector2u getTamanho() const;
118
122 void carregarShaders();
123
127 void tirarShader();
128
133 sf::View& getView();
134
139 void setMoveBounds(const sf::FloatRect& bounds);
140
145 void updateCamera(const sf::Vector2f& playerPos);
146
147 bool isPlayerOutsideBounds(const sf::Vector2f& playerPos) const;
148 void setIsShader(bool sd) { isShader = sd;}
149};
150
151}
152
153#endif // RENDERER_H
Gerencia a renderização de elementos gráficos.
Definição Renderer.h:27
sf::Vector2u getTamanho() const
Retorna o tamanho da janela.
Definição Renderer.cpp:96
sf::View & getView()
Retorna a view/câmera atual.
Definição Renderer.cpp:158
bool isOpen()
Retorna o estado da janela.
Definição Renderer.cpp:84
void updateCamera(const sf::Vector2f &playerPos)
Atualiza a posição da câmera com base na posição do jogador.
Definição Renderer.cpp:123
void moveCamera(float x, float y)
Move o que a janela mostra para o usuário.
Definição Renderer.cpp:40
void close()
Fecha a janela de execução.
Definição Renderer.cpp:88
void setTamanhoCamera(float largura, float altura)
Muda o que vai ser mostrado em relação ao que vai ser renderizado.
Definição Renderer.cpp:48
bool isPlayerOutsideBounds(const sf::Vector2f &playerPos) const
Definição Renderer.cpp:162
void addDrawable(const sf::Drawable &drawable, int camada=4)
Adiciona elementos na fila de renderização.
Definição Renderer.cpp:32
static Renderer * getInstance(int largura=1280, int altura=720, const std::string &titulo="Prodilexos Game")
Retorna uma instância para o gerenciador gráfico.
Definição Renderer.cpp:24
void setMoveBounds(const sf::FloatRect &bounds)
Define os limites de movimento da câmera.
Definição Renderer.cpp:119
bool pollEvent(sf::Event &evento)
Lê os eventos do jogo (interações com a janela).
Definição Renderer.cpp:92
void carregarShaders()
Carrega os shaders.
Definição Renderer.cpp:100
Renderer(const Renderer &)=delete
void setIsShader(bool sd)
Definição Renderer.h:148
void setCentroCamera(float x, float y)
Muda a origem da câmera em relação ao que vai ser mostrado.
Definição Renderer.cpp:44
void operator=(const Renderer &)=delete
void render()
Limpa a tela atual e renderiza os elementos da lista drawables.
Definição Renderer.cpp:52
void tirarShader()
Remove os shaders.
Definição Renderer.cpp:114
void clearDrawables()
Limpa a fila de renderização.
Definição Renderer.cpp:36
Componentes de funções básicas do jogo como renderização, carregamento de recursos,...
Definição CollisionManager.cpp:4