#pragma once #include #include "SDL2/SDL.h" #include "GameInfo.h" #include "DrawManager.h" #include "InputManager.h" #include "MusicManager.h" #include "AiguaProcesor.h" #include "MarcadorProcesor.h" #include "ArounderProcesor.h" class GameController { public: GameController(DrawManager *p_drawManager, InputManager *p_inputManager); ~GameController(); bool Init(); void Go(GameInfo *pGameInfo); void Finalize(void); private: DrawManager *drawManager; InputManager *inputManager; AiguaProcesor *aiguaProcesor; MarcadorProcesor *marcadorProcesor; ArounderProcesor *primerArounder; ArounderProcesor *arounderSeleccionat; SDL_Surface *mapa; SDL_Surface *fondo; SDL_Surface *sprites; SDL_Surface *puerta; SDL_Surface *font1; SDL_Surface *cursor; SDL_Surface *marca; SDL_Surface *menu; GameInfo *gameInfo; int startTicks; int currentTicks; int xInicial; int yInicial; int xFinal; int yFinal; void PintarEscena(); void PintarCursor(); bool Pausa(); bool Menu(const bool bypass = false); void CarregarMapa(const int numMapa); const char *formatejar(const int numero); };