YourCityInvadedByAliens
Documentation for code of the game
render_base.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "SDL.h"
4 #include <SDL_image.h>
5 #include <SDL_ttf.h>
6 #include <SDL_mixer.h>
7 #include <algorithm>
8 #include "game_state.h"
9 #include "game_rocket_state.h"
10 #include "game_bioplast_state.h"
11 
12 class RenderColor {
13  public:
14  RenderColor(int nR, int nG, int nB, int nA);
15  void changeRenderColor(SDL_Renderer* renderer);
16 
17  private:
18  int m_nR;
19  int m_nG;
20  int m_nB;
21  int m_nA;
22 };
23 
24 class RenderObject;
25 
27  public:
28  virtual void addGroundObject(RenderObject *pObject) = 0;
29  virtual void addRoadsObject(RenderObject *pObject) = 0;
30  virtual void addVegetationObject(RenderObject *pObject) = 0;
31  virtual void addBuildingsObject(RenderObject *pObject) = 0;
32  virtual void addTransportsObject(RenderObject *pObject) = 0;
33  virtual void addFlyingShadowObject(RenderObject *pObject) = 0;
34  virtual void addRocketsObject(RenderObject *pObject) = 0;
35  virtual void addFlyingObject(RenderObject *pObject) = 0;
36  virtual void addCloudsObject(RenderObject *pObject) = 0;
37  virtual void addPanelsObject(RenderObject *pObject) = 0;
38  virtual void addRocket(GameRocketState *pRocketState) = 0;
39  virtual void addBioplast(GameBioplastState *pState) = 0;
40 };
41 
42 class RenderObject {
43 
44  public:
45  RenderObject(int nPositionZ);
46  virtual ~RenderObject();
47  int getPositionZ();
48  bool isDestroyed();
49  void destroy();
50  virtual void modify(const GameState& state, IRenderWindow* pRenderWindow);
51  virtual bool canDraw(const GameState& state) = 0;
52  virtual void draw(SDL_Renderer* pRenderer) = 0;
53  int randomNoise();
54 
55  protected:
57 
58  private:
60 };
RenderColor::m_nG
int m_nG
Definition: render_base.h:19
RenderObject::draw
virtual void draw(SDL_Renderer *pRenderer)=0
IRenderWindow::addFlyingShadowObject
virtual void addFlyingShadowObject(RenderObject *pObject)=0
game_rocket_state.h
RenderColor
Definition: render_base.h:12
GameRocketState
Definition: game_rocket_state.h:6
RenderObject::RenderObject
RenderObject(int nPositionZ)
Definition: render_base.cpp:21
IRenderWindow::addCloudsObject
virtual void addCloudsObject(RenderObject *pObject)=0
RenderObject::~RenderObject
virtual ~RenderObject()
Definition: render_base.cpp:26
RenderObject::getPositionZ
int getPositionZ()
Definition: render_base.cpp:30
IRenderWindow::addGroundObject
virtual void addGroundObject(RenderObject *pObject)=0
IRenderWindow::addTransportsObject
virtual void addTransportsObject(RenderObject *pObject)=0
RenderColor::changeRenderColor
void changeRenderColor(SDL_Renderer *renderer)
Definition: render_base.cpp:14
IRenderWindow::addBioplast
virtual void addBioplast(GameBioplastState *pState)=0
RenderColor::m_nR
int m_nR
Definition: render_base.h:18
IRenderWindow::addRocket
virtual void addRocket(GameRocketState *pRocketState)=0
RenderObject
Definition: render_base.h:42
GameBioplastState
Definition: game_bioplast_state.h:5
RenderObject::canDraw
virtual bool canDraw(const GameState &state)=0
RenderColor::m_nB
int m_nB
Definition: render_base.h:20
IRenderWindow::addVegetationObject
virtual void addVegetationObject(RenderObject *pObject)=0
GameState
Definition: game_state.h:10
IRenderWindow
Definition: render_base.h:26
IRenderWindow::addBuildingsObject
virtual void addBuildingsObject(RenderObject *pObject)=0
IRenderWindow::addRoadsObject
virtual void addRoadsObject(RenderObject *pObject)=0
RenderObject::destroy
void destroy()
Definition: render_base.cpp:38
RenderObject::modify
virtual void modify(const GameState &state, IRenderWindow *pRenderWindow)
Definition: render_base.cpp:42
IRenderWindow::addFlyingObject
virtual void addFlyingObject(RenderObject *pObject)=0
game_bioplast_state.h
RenderColor::m_nA
int m_nA
Definition: render_base.h:21
IRenderWindow::addPanelsObject
virtual void addPanelsObject(RenderObject *pObject)=0
RenderObject::m_nPositionZ
int m_nPositionZ
Definition: render_base.h:59
RenderObject::m_bDestroyed
bool m_bDestroyed
Definition: render_base.h:56
RenderObject::randomNoise
int randomNoise()
Definition: render_base.cpp:46
game_state.h
RenderColor::RenderColor
RenderColor(int nR, int nG, int nB, int nA)
Definition: render_base.cpp:7
IRenderWindow::addRocketsObject
virtual void addRocketsObject(RenderObject *pObject)=0
RenderObject::isDestroyed
bool isDestroyed()
Definition: render_base.cpp:34