This commit is contained in:
2026-04-07 13:54:50 +02:00
parent 60a074167f
commit 53ee497509
4 changed files with 119 additions and 186 deletions

View File

@@ -45,6 +45,7 @@ class Game {
static constexpr float DEMO_ROOM_DURATION = 6.0F; // Duración de cada habitación en modo demo en segundos (400 frames)
static constexpr float FADE_STEP_INTERVAL = 0.05F; // Intervalo entre pasos de fade en segundos
static constexpr float POST_FADE_DELAY = 2.0F; // Duración de la pantalla negra después del fade
static constexpr float TRANSITION_DURATION = 0.5F; // Duración de la transición entre pantallas en segundos
// --- Estructuras ---
struct DemoData {
@@ -77,7 +78,6 @@ class Game {
void togglePause(); // Pone el juego en pausa
void initPlayer(const Player::SpawnData& spawn_point, std::shared_ptr<Room> room); // Inicializa al jugador
void endTransition(); // Finaliza la transición entre pantallas
void updateTransitionCamera(float delta_time); // Actualiza la cámara durante la transición
void keepMusicPlaying(); // Hace sonar la música
void demoInit(); // DEMO MODE: Inicializa las variables para el modo demo
void demoCheckRoomChange(float delta_time); // DEMO MODE: Comprueba si se ha de cambiar de habitación
@@ -108,11 +108,10 @@ class Game {
// Transición animada entre pantallas
bool transitioning_{false}; // Indica si hay una transición en curso
std::shared_ptr<Room> transition_adjacent_room_; // Room adyacente durante la transición
std::string transition_adjacent_room_path_; // Path de la room adyacente
float transition_timer_{0.0F}; // Tiempo transcurrido en la transición
std::shared_ptr<Room> transition_old_room_; // Habitación saliente (se mantiene viva durante la transición)
Room::Border transition_direction_{Room::Border::NONE}; // Dirección de la transición
float camera_offset_x_{0.0F}; // Offset actual de la cámara (pixeles)
float camera_offset_y_{0.0F}; // Offset actual de la cámara (pixeles)
bool transition_just_ended_{false}; // Cooldown de 1 frame tras finalizar transición
// Variables de demo mode
DemoData demo_; // Variables para el modo demo