#pragma once #include // Para SDL_Texture #include // Para Uint32 #include // Para unique_ptr #include "param.h" class BalloonManager; class TiledBG; class Credits { private: // Objetos std::unique_ptr balloon_manager_; // Objeto para gestionar los globos SDL_Texture *text_texture_; // Textura con el texto std::unique_ptr tiled_bg_; // Objeto para dibujar el mosaico animado de fondo // Variables Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa Uint32 counter_ = 0; // Contador para la lógica de la clase SDL_Rect credits_rect_src_ = param.game.game_area.rect; // Rectangulo con el texto de los créditos (origen) SDL_Rect credits_rect_dst_ = param.game.game_area.rect; // Rectangulo con el texto de los créditos (destino) SDL_Rect mini_logo_rect_src_ = param.game.game_area.rect; // Rectangulo con el mini logo de JailGames y el texto de copyright (origen) SDL_Rect mini_logo_rect_dst_ = param.game.game_area.rect; // Rectangulo con el mini logo de JailGames y el texto de copyright (destino) int mini_logo_final_pos_ = 0; // Actualiza las variables void update(); // Dibuja en pantalla void render(); // Comprueba el manejador de eventos void checkEvents(); // Comprueba las entradas void checkInput(); // Crea la textura con el texto void fillTextTexture(); // Actualiza el destino de los rectangulos de las texturas void updateRects(); // Tira globos al escenario void throwBalloons(); public: // Constructor Credits(); // Destructor ~Credits(); // Bucle principal void run(); };