Files
orni_attack/source/game/escenes/escena_titol.hpp

42 lines
1.3 KiB
C++

// escena_titol.hpp - Pantalla de títol del joc
// Mostra missatge "PRESS BUTTON TO PLAY" i copyright
// © 2025 Port a C++20
#pragma once
#include <SDL3/SDL.h>
#include <memory>
#include "../../core/graphics/starfield.hpp"
#include "../../core/graphics/vector_text.hpp"
#include "../../core/rendering/sdl_manager.hpp"
#include "core/defaults.hpp"
class EscenaTitol {
public:
explicit EscenaTitol(SDLManager& sdl);
void executar(); // Bucle principal de l'escena
private:
// Màquina d'estats per la pantalla de títol
enum class EstatTitol {
INIT, // Pantalla negra inicial (2 segons)
MAIN // Pantalla de títol amb text
};
SDLManager& sdl_;
Graphics::VectorText text_; // Sistema de text vectorial
std::unique_ptr<Graphics::Starfield> starfield_; // Camp d'estrelles de fons
EstatTitol estat_actual_; // Estat actual de la màquina
float temps_acumulat_; // Temps acumulat per l'estat INIT
// Constants
static constexpr float DURACIO_INIT = 2.0f; // Duració de l'estat INIT (2 segons)
// Mètodes privats
void actualitzar(float delta_time);
void dibuixar();
void processar_events(const SDL_Event& event);
};