#pragma once #include #include "common/animatedsprite.h" #include "common/asset.h" #include "common/const.h" #include "common/input.h" #include "common/jail_audio.h" #include "common/menu.h" #include "common/screen.h" #include "common/text.h" #include "common/utils.h" #ifndef TITLE_H #define TITLE_H #define TEXT_COPYRIGHT "2016,2022 JAILDESIGNER & JAILBROTHER" #define VERSION "0.6" // Clase Intro class Title { private: // Objetos y punteros AnimatedSprite *sprite; // Sprite para dibujar los graficos de la intro Asset *asset; // Objeto con los ficheros de recurso Input *input; // Objeto para gestionar las entradas Texture *texture; // Textura con los graficos Menu *menu; // Objeto para gestionar el menu del titulo Screen *screen; // Objeto encargado de dibujar en pantalla SDL_Event *eventHandler; // Manejador de eventos SDL_Renderer *renderer; // El renderizador de la ventana Text *text; // Objeto para escribir texto en pantalla // Variables JA_Music music; // Musica del titulo del juego section_t section; // Estado del bucle principal para saber si continua o se sale Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa // Actualiza las variables void update(); // Dibuja en pantalla void render(); // Comprueba el menu void checkMenu(); public: // Constructor Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input); // Destructor ~Title(); // Bucle principal section_t run(); }; #endif