#pragma once #include "ifdefs.h" #include "sprite.h" #include "movingsprite.h" #include "smartsprite.h" #include "player.h" #include "balloon.h" #include "bullet.h" #include "coffeedrop.h" #include "item.h" #include "text.h" #include "text2.h" #include "menu.h" #include "const.h" #include "jail_audio.h" #include "utils.h" #include "logo.h" #include "intro.h" #include "title.h" #include "game.h" #include "input.h" #include "fade.h" #include #ifndef DIRECTOR_H #define DIRECTOR_H // Director class Director { private: SDL_Window *mWindow; // La ventana donde dibujamos SDL_Renderer *mRenderer; // El renderizador de la ventana Input *mInput; Logo *mLogo; // Objeto para la sección del logo Intro *mIntro; // Objeto para la sección de la intro Title *mTitle; // Objeto para la sección del titulo y el menu de opciones Game *mGame; // Objeto para la sección del juego std::string mFileList[100]; // Vector con las rutas a los ficheros de recursos struct options_t *mOptions; // Variable con todas las opciones del programa std::string mTextStrings[MAX_TEXT_STRINGS]; // Vector con los textos del juego std::string mExecutablePath; // Path del ejecutable section_t mSection; // Sección y subsección actual del programa; // Inicializa jail_audio void initJailAudio(); // Inicializa los textos del juego en el idioma seleccionado //void initTextStrings(Uint8 lang); // Arranca SDL y crea la ventana bool initSDL(); // Crea el indice de ficheros void setFileList(); // Comprueba que todos los ficheros existen bool checkFileList(); // Carga el fichero de configuración bool loadConfigFile(); // Guarda el fichero de configuración bool saveConfigFile(); // Establece el valor de la variable void setExecutablePath(std::string path); // Obtiene el valor de la variable Uint8 getSubsection(); // Obtiene el valor de la variable Uint8 getSection(); // Establece el valor de la variable void setSection(section_t section); void runLogo(); void runIntro(); void runTitle(); void runGame(); public: // Constructor Director(std::string path); // Destructor ~Director(); // Inicia las variables necesarias para arrancar el programa void init(); // Bucle principal void run(); }; #endif