style: deixant guapetes les capçaleres de les classes
This commit is contained in:
@@ -19,7 +19,7 @@ class Ending {
|
||||
void run();
|
||||
|
||||
private:
|
||||
// --- Estados ---
|
||||
// --- Enumeraciones ---
|
||||
enum class State {
|
||||
WARMING_UP,
|
||||
SCENE_0,
|
||||
@@ -30,6 +30,32 @@ class Ending {
|
||||
ENDING
|
||||
};
|
||||
|
||||
// --- Estructuras ---
|
||||
struct EndingSurface {
|
||||
std::shared_ptr<Surface> image_surface; // Surface a mostrar
|
||||
std::shared_ptr<SurfaceSprite> image_sprite; // SSprite para mostrar la textura
|
||||
std::shared_ptr<Surface> cover_surface; // Surface que cubre a la otra textura
|
||||
std::shared_ptr<SurfaceSprite> cover_sprite; // SSprite para mostrar la textura que cubre a la otra textura
|
||||
int cover_clip_desp{0}; // Desplazamiento del spriteClip de la textura de cobertura
|
||||
int cover_clip_height{0}; // Altura del spriteClip de la textura de cobertura
|
||||
};
|
||||
|
||||
struct TextAndPosition {
|
||||
std::string caption; // Texto
|
||||
int pos{0}; // Posición
|
||||
};
|
||||
|
||||
struct TextIndex {
|
||||
int index{0}; // Índice del texto
|
||||
int trigger{0}; // Disparador temporal
|
||||
};
|
||||
|
||||
struct SceneData {
|
||||
std::vector<TextIndex> text_index; // Índices del vector de textos a mostrar y su disparador
|
||||
int picture_index{0}; // Índice del vector de imágenes a mostrar
|
||||
int counter_end{0}; // Valor del contador en el que finaliza la escena
|
||||
};
|
||||
|
||||
// --- Constantes de tiempo (basado en 60 FPS) ---
|
||||
static constexpr float WARMUP_DURATION = 3.333F; // 200 frames @ 60fps
|
||||
static constexpr float FADEOUT_DURATION = 1.667F; // 100 frames @ 60fps
|
||||
@@ -43,56 +69,13 @@ class Ending {
|
||||
static constexpr float TEXT_LAPSE = 1.333F; // 80 frames @ 60fps
|
||||
static constexpr float FADEOUT_START_OFFSET = 1.667F; // Inicio fade-out 100 frames antes del fin
|
||||
|
||||
// --- Estructuras ---
|
||||
struct EndingSurface // Estructura con dos texturas y sprites, uno para mostrar y el otro hace de cortinilla
|
||||
{
|
||||
std::shared_ptr<Surface> image_surface; // Surface a mostrar
|
||||
std::shared_ptr<SurfaceSprite> image_sprite; // SSprite para mostrar la textura
|
||||
std::shared_ptr<Surface> cover_surface; // Surface que cubre a la otra textura
|
||||
std::shared_ptr<SurfaceSprite> cover_sprite; // SSprite para mostrar la textura que cubre a la otra textura
|
||||
int cover_clip_desp; // Desplazamiento del spriteClip de la textura de cobertura
|
||||
int cover_clip_height; // Altura del spriteClip de la textura de cobertura
|
||||
};
|
||||
|
||||
struct TextAndPosition // Estructura con un texto y su posición en el eje Y
|
||||
{
|
||||
std::string caption; // Texto
|
||||
int pos; // Posición
|
||||
};
|
||||
|
||||
struct TextIndex {
|
||||
int index;
|
||||
int trigger;
|
||||
};
|
||||
|
||||
struct SceneData // Estructura para crear cada una de las escenas del final
|
||||
{
|
||||
std::vector<TextIndex> text_index; // Indices del vector de textos a mostrar y su disparador
|
||||
int picture_index; // Indice del vector de imagenes a mostrar
|
||||
int counter_end; // Valor del contador en el que finaliza la escena
|
||||
};
|
||||
|
||||
// --- Objetos y punteros ---
|
||||
std::shared_ptr<Surface> cover_surface_; // Surface para cubrir el texto
|
||||
|
||||
// --- Variables ---
|
||||
std::unique_ptr<DeltaTimer> delta_timer_; // Temporizador delta para time-based update
|
||||
State state_ = State::WARMING_UP; // Estado actual
|
||||
float state_time_ = 0.0F; // Tiempo acumulado en el estado actual
|
||||
float total_time_ = 0.0F; // Tiempo total acumulado desde el inicio
|
||||
float fadeout_time_ = 0.0F; // Tiempo acumulado para el fade-out
|
||||
std::vector<EndingSurface> sprite_texts_; // Vector con los sprites de texto con su cortinilla
|
||||
std::vector<EndingSurface> sprite_pics_; // Vector con los sprites de texto con su cortinilla
|
||||
int current_scene_ = 0; // Escena actual (0-4)
|
||||
std::vector<SceneData> scenes_; // Vector con los textos e imagenes de cada escena
|
||||
|
||||
// --- Funciones ---
|
||||
// --- Métodos ---
|
||||
void update(); // Actualiza el objeto
|
||||
void render(); // Dibuja el final en pantalla
|
||||
static void handleEvents(); // Comprueba el manejador de eventos
|
||||
static void handleInput(); // Comprueba las entradas
|
||||
void iniTexts(); // Inicializa los textos
|
||||
void iniPics(); // Inicializa las imagenes
|
||||
void iniPics(); // Inicializa las imágenes
|
||||
void iniScenes(); // Inicializa las escenas
|
||||
void updateState(float delta_time); // Actualiza la máquina de estados
|
||||
void transitionToState(State new_state); // Transición entre estados
|
||||
@@ -100,5 +83,20 @@ class Ending {
|
||||
void checkChangeScene(); // Comprueba si se ha de cambiar de escena
|
||||
void fillCoverTexture(); // Rellena la textura para la cortinilla
|
||||
void renderCoverTexture(); // Dibuja la cortinilla de cambio de escena
|
||||
void updateMusicVolume() const; // Actualiza el volumen de la musica
|
||||
void updateMusicVolume() const; // Actualiza el volumen de la música
|
||||
|
||||
// --- Variables miembro ---
|
||||
// Objetos y punteros a recursos
|
||||
std::shared_ptr<Surface> cover_surface_; // Surface para cubrir el texto
|
||||
std::unique_ptr<DeltaTimer> delta_timer_; // Timer para time-based update
|
||||
std::vector<EndingSurface> sprite_texts_; // Vector con los sprites de texto con su cortinilla
|
||||
std::vector<EndingSurface> sprite_pics_; // Vector con los sprites de imágenes con su cortinilla
|
||||
std::vector<SceneData> scenes_; // Vector con los textos e imágenes de cada escena
|
||||
|
||||
// Variables de estado
|
||||
State state_{State::WARMING_UP}; // Estado actual
|
||||
float state_time_{0.0F}; // Tiempo acumulado en el estado actual
|
||||
float total_time_{0.0F}; // Tiempo total acumulado desde el inicio
|
||||
float fadeout_time_{0.0F}; // Tiempo acumulado para el fade-out
|
||||
int current_scene_{0}; // Escena actual (0-4)
|
||||
};
|
||||
Reference in New Issue
Block a user