#pragma once #include // Para Uint32 #include // Para SDL_Texture #include // Para unique_ptr, shared_ptr #include // Para vector #include "path_sprite.h" // Para PathSprite #include "writer.h" // Para Writer class Text; // lines 8-8 class Texture; // lines 9-9 /* Esta clase gestiona un estado del programa. Se encarga de mostrar la secuencia de introducción */ // Clase Intro class Intro { private: // Objetos std::vector> sprites_; // Vector con los sprites inteligentes para los dibujos de la intro std::vector> texts_; // Textos de la intro std::unique_ptr shadow_sprite_; // Sprite para la sombra de las imagenes // Variables Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa int scene_ = 0; // 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(); // Inicializa las imagens void initSprites(); // Inicializa los textos void initTexts(); // Actualiza los sprites void updateSprites(); // Actualiza los textos void updateTexts(); // Dibuja los sprites void renderSprites(); // Dibuja los textos void renderTexts(); public: // Constructor Intro(); // Destructor ~Intro() = default; // Bucle principal void run(); };