YourCityInvadedByAliens
Documentation for code of the game
render_window.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "render_base.h"
4 
6  public:
7  RanderWindowLayer(const std::string &sName);
8  void addObject(RenderObject *pObject);
9  void removeObject(RenderObject *pObject);
10  void drawObjects(const GameState& state, SDL_Renderer *pRenderer);
11  void modifyObjects(const GameState& state, IRenderWindow *pWindow);
13 
14  private:
15  std::string m_sName;
16  std::vector<RenderObject *> m_vObjects;
17 };
18 
19 class RenderWindow : public IRenderWindow {
20 
21  public:
22  RenderWindow(const char* p_title, int p_w, int p_h);
23  ~RenderWindow();
24  virtual void addGroundObject(RenderObject *pObject) override;
25  virtual void addRoadsObject(RenderObject *pObject) override;
26  virtual void addVegetationObject(RenderObject *pObject) override;
27  virtual void addBuildingsObject(RenderObject *pObject) override;
28  virtual void addTransportsObject(RenderObject *pObject) override;
29  virtual void addFlyingShadowObject(RenderObject *pObject) override;
30  virtual void addRocketsObject(RenderObject *pObject) override;
31  virtual void addFlyingObject(RenderObject *pObject) override;
32  virtual void addCloudsObject(RenderObject *pObject) override;
33  virtual void addPanelsObject(RenderObject *pObject) override;
34  virtual void addRocket(GameRocketState *pState) override;
35  virtual void addBioplast(GameBioplastState *pState) override;
36  bool isFullscreen();
37  void toggleFullscreen();
38  void removeObject(RenderObject *pObject);
40 
41  SDL_Texture* loadTexture(const std::string &sFilePath);
42  void loadTextureRocket(const std::string &sFilePath);
43  void loadTextureBioplast(const std::string &sFilePath);
44  void cleanUp();
45  void clear();
46  void modifyObjects(const GameState& state);
47  void drawObjects(const GameState& state);
48  SDL_Renderer* getRenderer();
49 
50  void getWindowSize(int* w, int* h);
51 
52  std::vector<GameRocketState *> m_vRockets;
53  std::vector<GameBioplastState *> m_vBioplasts;
54 
55  private:
56  int createRenderWindowLayer(const std::string &sName);
57  RanderWindowLayer *getLayer(int nLayer);
58 
60  SDL_Window* m_pWindow;
61  SDL_Renderer* m_pRenderer;
62  SDL_DisplayMode m_displayMode;
63  SDL_Texture* m_pTextureRocket;
64  SDL_Texture* m_pTextureBioplast;
65  std::vector<RanderWindowLayer *> m_vLayers;
66 
77 };
RanderWindowLayer::drawObjects
void drawObjects(const GameState &state, SDL_Renderer *pRenderer)
Definition: render_window.cpp:28
RanderWindowLayer::addObject
void addObject(RenderObject *pObject)
Definition: render_window.cpp:17
RenderWindow::loadTextureBioplast
void loadTextureBioplast(const std::string &sFilePath)
Definition: render_window.cpp:214
RenderWindow::m_pWindow
SDL_Window * m_pWindow
Definition: render_window.h:60
RenderWindow::m_nLayerBuildings
int m_nLayerBuildings
Definition: render_window.h:70
RenderWindow::m_nLayerTransport
int m_nLayerTransport
Definition: render_window.h:71
RenderWindow::addTransportsObject
virtual void addTransportsObject(RenderObject *pObject) override
Definition: render_window.cpp:140
RanderWindowLayer::m_vObjects
std::vector< RenderObject * > m_vObjects
Definition: render_window.h:16
RanderWindowLayer::sortObjectsByPositionZ
void sortObjectsByPositionZ()
Definition: render_window.cpp:59
RenderWindow::addCloudsObject
virtual void addCloudsObject(RenderObject *pObject) override
Definition: render_window.cpp:156
RenderWindow::addFlyingObject
virtual void addFlyingObject(RenderObject *pObject) override
Definition: render_window.cpp:152
RenderWindow::isFullscreen
bool isFullscreen()
Definition: render_window.cpp:183
RenderWindow::removeObject
void removeObject(RenderObject *pObject)
Definition: render_window.cpp:187
RenderWindow::toggleFullscreen
void toggleFullscreen()
Definition: render_window.cpp:174
RenderWindow
Definition: render_window.h:19
RenderWindow::RenderWindow
RenderWindow(const char *p_title, int p_w, int p_h)
Definition: render_window.cpp:82
RenderWindow::addPanelsObject
virtual void addPanelsObject(RenderObject *pObject) override
Definition: render_window.cpp:160
RenderWindow::addGroundObject
virtual void addGroundObject(RenderObject *pObject) override
Definition: render_window.cpp:124
RenderWindow::loadTextureRocket
void loadTextureRocket(const std::string &sFilePath)
Definition: render_window.cpp:210
RenderWindow::m_vRockets
std::vector< GameRocketState * > m_vRockets
Definition: render_window.h:52
RanderWindowLayer::m_sName
std::string m_sName
Definition: render_window.h:15
RenderWindow::modifyObjects
void modifyObjects(const GameState &state)
Definition: render_window.cpp:229
GameRocketState
Definition: game_rocket_state.h:6
RenderWindow::m_nLayerPanels
int m_nLayerPanels
Definition: render_window.h:76
RenderWindow::m_nLayerClouds
int m_nLayerClouds
Definition: render_window.h:75
RenderWindow::m_nLayerRockets
int m_nLayerRockets
Definition: render_window.h:73
RenderWindow::~RenderWindow
~RenderWindow()
Definition: render_window.cpp:118
RenderWindow::cleanUp
void cleanUp()
Definition: render_window.cpp:218
RenderWindow::getWindowSize
void getWindowSize(int *w, int *h)
Definition: render_window.cpp:248
RenderWindow::getLayer
RanderWindowLayer * getLayer(int nLayer)
Definition: render_window.cpp:258
RenderWindow::addRocketsObject
virtual void addRocketsObject(RenderObject *pObject) override
Definition: render_window.cpp:148
RanderWindowLayer
Definition: render_window.h:5
RenderWindow::m_pTextureBioplast
SDL_Texture * m_pTextureBioplast
Definition: render_window.h:64
RenderWindow::m_vBioplasts
std::vector< GameBioplastState * > m_vBioplasts
Definition: render_window.h:53
RenderObject
Definition: render_base.h:42
RenderWindow::m_nLayerFlying
int m_nLayerFlying
Definition: render_window.h:74
GameBioplastState
Definition: game_bioplast_state.h:5
RenderWindow::m_pRenderer
SDL_Renderer * m_pRenderer
Definition: render_window.h:61
RenderWindow::m_pTextureRocket
SDL_Texture * m_pTextureRocket
Definition: render_window.h:63
GameState
Definition: game_state.h:10
render_base.h
IRenderWindow
Definition: render_base.h:26
RenderWindow::sortObjectsByPositionZ
void sortObjectsByPositionZ()
Definition: render_window.cpp:193
RenderWindow::addRoadsObject
virtual void addRoadsObject(RenderObject *pObject) override
Definition: render_window.cpp:128
RenderWindow::m_nLayerFlyingShadow
int m_nLayerFlyingShadow
Definition: render_window.h:72
RanderWindowLayer::removeObject
void removeObject(RenderObject *pObject)
Definition: render_window.cpp:21
RenderWindow::addBuildingsObject
virtual void addBuildingsObject(RenderObject *pObject) override
Definition: render_window.cpp:136
RenderWindow::createRenderWindowLayer
int createRenderWindowLayer(const std::string &sName)
Definition: render_window.cpp:252
RenderWindow::clear
void clear()
Definition: render_window.cpp:222
RenderWindow::addRocket
virtual void addRocket(GameRocketState *pState) override
Definition: render_window.cpp:164
RenderWindow::loadTexture
SDL_Texture * loadTexture(const std::string &sFilePath)
Definition: render_window.cpp:199
RenderWindow::m_vLayers
std::vector< RanderWindowLayer * > m_vLayers
Definition: render_window.h:65
RenderWindow::m_nLayerRoads
int m_nLayerRoads
Definition: render_window.h:68
RenderWindow::addVegetationObject
virtual void addVegetationObject(RenderObject *pObject) override
Definition: render_window.cpp:132
RenderWindow::addFlyingShadowObject
virtual void addFlyingShadowObject(RenderObject *pObject) override
Definition: render_window.cpp:144
RenderWindow::drawObjects
void drawObjects(const GameState &state)
Definition: render_window.cpp:235
RenderWindow::m_nLayerVegetation
int m_nLayerVegetation
Definition: render_window.h:69
RenderWindow::m_nLayerGround
int m_nLayerGround
Definition: render_window.h:67
RenderWindow::getRenderer
SDL_Renderer * getRenderer()
Definition: render_window.cpp:244
RenderWindow::m_bFullsreeen
bool m_bFullsreeen
Definition: render_window.h:59
RanderWindowLayer::modifyObjects
void modifyObjects(const GameState &state, IRenderWindow *pWindow)
Definition: render_window.cpp:36
RenderWindow::m_displayMode
SDL_DisplayMode m_displayMode
Definition: render_window.h:62
RanderWindowLayer::RanderWindowLayer
RanderWindowLayer(const std::string &sName)
Definition: render_window.cpp:13
RenderWindow::addBioplast
virtual void addBioplast(GameBioplastState *pState) override
Definition: render_window.cpp:169