YourCityInvadedByAliens
Documentation for code of the game
main_controller.h
Go to the documentation of this file.
1 #pragma once
2 #include <string>
3 #include "render_window.h"
4 #include "render.h"
5 #include "main_ai_thread.h"
7 
9  public:
10  MainController(const std::string &sWindowName);
12  bool findResourceDir();
13  std::string getResourceDir();
14  bool initSDL2();
15  bool initRenderWindow();
20  bool showStartDialog();
21  void startAllThreads();
22 
23  // window
24  bool isFullscreen();
25  void toggleFullscreen();
26  void clearWindow();
27  void modifyObjects();
28  void drawObjects();
29 
30  void updatePlayerCoord();
31  void updateFpsValue(int nFps);
33 
34  private:
35  std::string TAG;
36 
37  void loadBackgrounds(
38  const std::string &sDefaultPath,
39  const YJsonObject &jsonBackground
40  );
41  void generateBackground(
42  SDL_Texture* pTextureBackground,
43  int nTextureWidth,
44  int nTextureHeight,
45  const CoordXY &startXY,
46  const CoordXY &endXY
47  );
48  void generateTanks();
49  void generateClouds();
50 
51  void loadRoads(
52  const std::string &sDefaultPath,
53  const YJsonObject &jsonRoads
54  );
55 
56  void loadAlienShip(
57  const std::string &sDefaultPath
58  );
59 
60  std::string m_sWindowName;
61  std::string m_sResourceDir;
70  std::string m_sMapName;
71 
77  SDL_Texture* m_pTextureCloud0;
78  SDL_Texture* m_pTextureRoad0;
79  SDL_Texture* m_pTextureTank0;
80  SDL_Texture* m_pTextureRocket;
81  SDL_Texture* m_pTextureCursor;
82  SDL_Texture* m_pTextureLeftPanel;
83  SDL_Texture* m_pTexturePlayerPower0;
84  std::map<std::string, SDL_Texture*> m_mapBuildingsTextures;
85 
89 };
MainController::m_pGameState
GameState * m_pGameState
Definition: main_controller.h:75
MainController::m_playerStartPosition
CoordXY m_playerStartPosition
Definition: main_controller.h:64
MainController::toggleFullscreen
void toggleFullscreen()
Definition: main_controller.cpp:281
render.h
MainController::m_maxPointMap
CoordXY m_maxPointMap
Definition: main_controller.h:63
MainController::clearWindow
void clearWindow()
Definition: main_controller.cpp:291
MainController::isFullscreen
bool isFullscreen()
Definition: main_controller.cpp:277
MainController::initSDL2
bool initSDL2()
Definition: main_controller.cpp:64
MainController::m_pTextureCursor
SDL_Texture * m_pTextureCursor
Definition: main_controller.h:81
MainController::m_pMainAiThread
MainAiThread * m_pMainAiThread
Definition: main_controller.h:76
MainController::m_pRenderWindow
RenderWindow * m_pRenderWindow
Definition: main_controller.h:74
RenderWindow
Definition: render_window.h:19
MainController::m_nMapWidth
int m_nMapWidth
Definition: main_controller.h:67
YJsonObject
Definition: yjson.h:14
MainController::MainController
MainController(const std::string &sWindowName)
Definition: main_controller.cpp:23
MainController::m_pFpsText
RenderAbsoluteTextBlock * m_pFpsText
Definition: main_controller.h:87
MainController::m_minPointMap
CoordXY m_minPointMap
Definition: main_controller.h:62
MainController::m_nProgressBarStatus
int m_nProgressBarStatus
Definition: main_controller.h:72
MainController::generateBackground
void generateBackground(SDL_Texture *pTextureBackground, int nTextureWidth, int nTextureHeight, const CoordXY &startXY, const CoordXY &endXY)
Definition: main_controller.cpp:386
MainController::startAllThreads
void startAllThreads()
Definition: main_controller.cpp:273
RenderAbsoluteTextBlock
Definition: render.h:55
MainController::m_pTextureTank0
SDL_Texture * m_pTextureTank0
Definition: main_controller.h:79
MainController::m_pTextureCloud0
SDL_Texture * m_pTextureCloud0
Definition: main_controller.h:77
MainController::m_nMaxClouds
int m_nMaxClouds
Definition: main_controller.h:69
MainController
Definition: main_controller.h:8
MainController::TAG
std::string TAG
Definition: main_controller.h:35
MainController::loadRoads
void loadRoads(const std::string &sDefaultPath, const YJsonObject &jsonRoads)
Definition: main_controller.cpp:437
MainController::m_nMapHeight
int m_nMapHeight
Definition: main_controller.h:68
MainController::generateTanks
void generateTanks()
Definition: main_controller.cpp:400
render_window.h
MainController::getWindow
RenderWindow * getWindow()
Definition: main_controller.cpp:112
MainController::getGameState
GameState * getGameState()
Definition: main_controller.cpp:116
MainController::showStartDialog
bool showStartDialog()
Definition: main_controller.cpp:263
CoordXY
Definition: coordxy.h:5
game_alien_ship_state.h
MainController::m_pTextureLeftPanel
SDL_Texture * m_pTextureLeftPanel
Definition: main_controller.h:82
MainController::loadGameDataWithProgressBar
bool loadGameDataWithProgressBar()
Definition: main_controller.cpp:127
MainController::initRenderWindow
bool initRenderWindow()
Definition: main_controller.cpp:94
MainController::~MainController
~MainController()
Definition: main_controller.cpp:37
MainController::drawObjects
void drawObjects()
Definition: main_controller.cpp:334
MainController::findResourceDir
bool findResourceDir()
Definition: main_controller.cpp:41
MainController::updatePlayerCoord
void updatePlayerCoord()
Definition: main_controller.cpp:338
MainController::m_nProgressBarMax
int m_nProgressBarMax
Definition: main_controller.h:73
main_ai_thread.h
MainController::generateClouds
void generateClouds()
Definition: main_controller.cpp:420
MainController::getCoordCenter
CoordXY getCoordCenter()
Definition: main_controller.cpp:120
GameState
Definition: game_state.h:10
MainController::m_sWindowName
std::string m_sWindowName
Definition: main_controller.h:60
MainController::m_nWindowHeight
int m_nWindowHeight
Definition: main_controller.h:66
MainController::getResourceDir
std::string getResourceDir()
Definition: main_controller.cpp:60
MainController::modifyObjects
void modifyObjects()
Definition: main_controller.cpp:295
MainController::loadAlienShip
void loadAlienShip(const std::string &sDefaultPath)
Definition: main_controller.cpp:467
MainController::m_pTextureRoad0
SDL_Texture * m_pTextureRoad0
Definition: main_controller.h:78
MainController::m_pTextureRocket
SDL_Texture * m_pTextureRocket
Definition: main_controller.h:80
MainController::m_pCoordText
RenderAbsoluteTextBlock * m_pCoordText
Definition: main_controller.h:86
MainController::loadBackgrounds
void loadBackgrounds(const std::string &sDefaultPath, const YJsonObject &jsonBackground)
Definition: main_controller.cpp:354
MainController::m_nWindowWidth
int m_nWindowWidth
Definition: main_controller.h:65
MainController::m_pAlientShipState
GameAlienShipState * m_pAlientShipState
Definition: main_controller.h:88
MainAiThread
Definition: main_ai_thread.h:16
MainController::m_mapBuildingsTextures
std::map< std::string, SDL_Texture * > m_mapBuildingsTextures
Definition: main_controller.h:84
GameAlienShipState
Definition: game_alien_ship_state.h:8
MainController::m_sResourceDir
std::string m_sResourceDir
Definition: main_controller.h:61
MainController::m_pTexturePlayerPower0
SDL_Texture * m_pTexturePlayerPower0
Definition: main_controller.h:83
MainController::updateFpsValue
void updateFpsValue(int nFps)
Definition: main_controller.cpp:345
MainController::m_sMapName
std::string m_sMapName
Definition: main_controller.h:70
MainController::getGameAlienShipState
GameAlienShipState * getGameAlienShipState()
Definition: main_controller.cpp:350