YourCityInvadedByAliens
Documentation for code of the game
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MainController Class Reference

#include <main_controller.h>

Collaboration diagram for MainController:
Collaboration graph
[legend]

Public Member Functions

 MainController (const std::string &sWindowName)
 
 ~MainController ()
 
bool findResourceDir ()
 
std::string getResourceDir ()
 
bool initSDL2 ()
 
bool initRenderWindow ()
 
RenderWindowgetWindow ()
 
GameStategetGameState ()
 
CoordXY getCoordCenter ()
 
bool loadGameDataWithProgressBar ()
 
bool showStartDialog ()
 
void startAllThreads ()
 
bool isFullscreen ()
 
void toggleFullscreen ()
 
void clearWindow ()
 
void modifyObjects ()
 
void drawObjects ()
 
void updatePlayerCoord ()
 
void updateFpsValue (int nFps)
 
GameAlienShipStategetGameAlienShipState ()
 

Private Member Functions

void loadBackgrounds (const std::string &sDefaultPath, const YJsonObject &jsonBackground)
 
void generateBackground (SDL_Texture *pTextureBackground, int nTextureWidth, int nTextureHeight, const CoordXY &startXY, const CoordXY &endXY)
 
void generateTanks ()
 
void generateClouds ()
 
void loadRoads (const std::string &sDefaultPath, const YJsonObject &jsonRoads)
 
void loadAlienShip (const std::string &sDefaultPath)
 

Private Attributes

std::string TAG
 
std::string m_sWindowName
 
std::string m_sResourceDir
 
CoordXY m_minPointMap
 
CoordXY m_maxPointMap
 
CoordXY m_playerStartPosition
 
int m_nWindowWidth
 
int m_nWindowHeight
 
int m_nMapWidth
 
int m_nMapHeight
 
int m_nMaxClouds
 
std::string m_sMapName
 
int m_nProgressBarStatus
 
int m_nProgressBarMax
 
RenderWindowm_pRenderWindow
 
GameStatem_pGameState
 
MainAiThreadm_pMainAiThread
 
SDL_Texture * m_pTextureCloud0
 
SDL_Texture * m_pTextureRoad0
 
SDL_Texture * m_pTextureTank0
 
SDL_Texture * m_pTextureRocket
 
SDL_Texture * m_pTextureCursor
 
SDL_Texture * m_pTextureLeftPanel
 
SDL_Texture * m_pTexturePlayerPower0
 
std::map< std::string, SDL_Texture * > m_mapBuildingsTextures
 
RenderAbsoluteTextBlockm_pCoordText
 
RenderAbsoluteTextBlockm_pFpsText
 
GameAlienShipStatem_pAlientShipState
 

Constructor & Destructor Documentation

◆ MainController()

MainController::MainController ( const std::string &  sWindowName)

◆ ~MainController()

MainController::~MainController ( )

Member Function Documentation

◆ clearWindow()

void MainController::clearWindow ( )

◆ drawObjects()

void MainController::drawObjects ( )

◆ findResourceDir()

bool MainController::findResourceDir ( )

◆ generateBackground()

void MainController::generateBackground ( SDL_Texture *  pTextureBackground,
int  nTextureWidth,
int  nTextureHeight,
const CoordXY startXY,
const CoordXY endXY 
)
private

◆ generateClouds()

void MainController::generateClouds ( )
private

◆ generateTanks()

void MainController::generateTanks ( )
private

◆ getCoordCenter()

CoordXY MainController::getCoordCenter ( )

◆ getGameAlienShipState()

GameAlienShipState * MainController::getGameAlienShipState ( )

◆ getGameState()

GameState * MainController::getGameState ( )

◆ getResourceDir()

std::string MainController::getResourceDir ( )

◆ getWindow()

RenderWindow * MainController::getWindow ( )

◆ initRenderWindow()

bool MainController::initRenderWindow ( )

◆ initSDL2()

bool MainController::initSDL2 ( )

◆ isFullscreen()

bool MainController::isFullscreen ( )

◆ loadAlienShip()

void MainController::loadAlienShip ( const std::string &  sDefaultPath)
private

◆ loadBackgrounds()

void MainController::loadBackgrounds ( const std::string &  sDefaultPath,
const YJsonObject jsonBackground 
)
private

◆ loadGameDataWithProgressBar()

bool MainController::loadGameDataWithProgressBar ( )

◆ loadRoads()

void MainController::loadRoads ( const std::string &  sDefaultPath,
const YJsonObject jsonRoads 
)
private

◆ modifyObjects()

void MainController::modifyObjects ( )

◆ showStartDialog()

bool MainController::showStartDialog ( )

◆ startAllThreads()

void MainController::startAllThreads ( )

◆ toggleFullscreen()

void MainController::toggleFullscreen ( )

◆ updateFpsValue()

void MainController::updateFpsValue ( int  nFps)

◆ updatePlayerCoord()

void MainController::updatePlayerCoord ( )

Member Data Documentation

◆ m_mapBuildingsTextures

std::map<std::string, SDL_Texture*> MainController::m_mapBuildingsTextures
private

◆ m_maxPointMap

CoordXY MainController::m_maxPointMap
private

◆ m_minPointMap

CoordXY MainController::m_minPointMap
private

◆ m_nMapHeight

int MainController::m_nMapHeight
private

◆ m_nMapWidth

int MainController::m_nMapWidth
private

◆ m_nMaxClouds

int MainController::m_nMaxClouds
private

◆ m_nProgressBarMax

int MainController::m_nProgressBarMax
private

◆ m_nProgressBarStatus

int MainController::m_nProgressBarStatus
private

◆ m_nWindowHeight

int MainController::m_nWindowHeight
private

◆ m_nWindowWidth

int MainController::m_nWindowWidth
private

◆ m_pAlientShipState

GameAlienShipState* MainController::m_pAlientShipState
private

◆ m_pCoordText

RenderAbsoluteTextBlock* MainController::m_pCoordText
private

◆ m_pFpsText

RenderAbsoluteTextBlock* MainController::m_pFpsText
private

◆ m_pGameState

GameState* MainController::m_pGameState
private

◆ m_playerStartPosition

CoordXY MainController::m_playerStartPosition
private

◆ m_pMainAiThread

MainAiThread* MainController::m_pMainAiThread
private

◆ m_pRenderWindow

RenderWindow* MainController::m_pRenderWindow
private

◆ m_pTextureCloud0

SDL_Texture* MainController::m_pTextureCloud0
private

◆ m_pTextureCursor

SDL_Texture* MainController::m_pTextureCursor
private

◆ m_pTextureLeftPanel

SDL_Texture* MainController::m_pTextureLeftPanel
private

◆ m_pTexturePlayerPower0

SDL_Texture* MainController::m_pTexturePlayerPower0
private

◆ m_pTextureRoad0

SDL_Texture* MainController::m_pTextureRoad0
private

◆ m_pTextureRocket

SDL_Texture* MainController::m_pTextureRocket
private

◆ m_pTextureTank0

SDL_Texture* MainController::m_pTextureTank0
private

◆ m_sMapName

std::string MainController::m_sMapName
private

◆ m_sResourceDir

std::string MainController::m_sResourceDir
private

◆ m_sWindowName

std::string MainController::m_sWindowName
private

◆ TAG

std::string MainController::TAG
private

The documentation for this class was generated from the following files: