#pragma once #include // Para Uint8, Uint32 #include // Para shared_ptr #include // Para vector class SSprite; // lines 7-7 class Surface; // lines 8-8 class Logo { private: // Constantes static constexpr int INIT_FADE_ = 300; // Tiempo del contador cuando inicia el fade a negro static constexpr int END_LOGO_ = 400; // Tiempo del contador para terminar el logo static constexpr int POST_LOGO_ = 20; // Tiempo que dura el logo con el fade al maximo // Objetos y punteros std::shared_ptr jailgames_surface_; // Textura con los graficos "JAILGAMES" std::shared_ptr since_1998_surface_; // Textura con los graficos "Since 1998" std::vector> jailgames_sprite_; // Vector con los sprites de cada linea que forman el bitmap JAILGAMES std::shared_ptr since_1998_sprite_; // SSprite para manejar la textura2 Uint8 jailgames_color_ = 0; // Color para el sprite de "JAILGAMES" Uint8 since_1998_color_ = 0; // Color para el sprite de "Since 1998" // Variables std::vector color_; // Vector con los colores para el fade int counter_ = 0; // Contador Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa // Actualiza las variables void update(); // Dibuja en pantalla void render(); // Comprueba el manejador de eventos void checkEvents(); // Comprueba las entradas void checkInput(); // Gestiona el logo de JAILGAME void updateJAILGAMES(); // Gestiona el color de las texturas void updateTextureColors(); // Termina la sección void endSection(); public: // Constructor Logo(); // Destructor ~Logo() = default; // Bucle principal void run(); };