#pragma once #include // para Uint32, Uint8 #include // para unique_ptr, shared_ptr #include // para vector #include "smart_sprite.h" // para SpriteSmart #include "writer.h" // para Writer class Text; class Texture; struct JA_Music_t; // lines 11-11 /* Esta clase gestiona un estado del programa. Se encarga de mostrar la secuencia de introducción */ // Clase Intro class Intro { private: // Objetos std::shared_ptr texture_; // Textura con los graficos std::shared_ptr text_; // Textos de la intro std::vector> bitmaps_; // Vector con los sprites inteligentes para los dibujos de la intro std::vector> texts_; // Textos de la intro // Variables Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa int scene_ = 1; // Indica que escena está activa // Actualiza las variables del objeto void update(); // Dibuja el objeto en pantalla void render(); // Comprueba los eventos void checkEvents(); // Comprueba las entradas void checkInput(); // Actualiza las escenas de la intro void updateScenes(); // Recarga todas las texturas void reloadTextures(); public: // Constructor Intro(); // Destructor ~Intro() = default; // Bucle principal void run(); };