33 lines
1.2 KiB
C++
33 lines
1.2 KiB
C++
#pragma once
|
|
|
|
/*
|
|
Namespace SceneManager: gestiona el flujo entre las diferentes escenas del juego.
|
|
|
|
Define las escenas principales del programa y las opciones de transición entre ellas.
|
|
Proporciona variables globales inline para gestionar el estado actual de la escena.
|
|
*/
|
|
|
|
namespace SceneManager {
|
|
|
|
// --- Escenas del programa ---
|
|
enum class Scene {
|
|
LOGO, // Pantalla del logo
|
|
TITLE, // Pantalla de título/menú principal
|
|
GAME, // Juego principal
|
|
RESTART_CURRENT, // Especial: reinicia la escena que estaba corriendo
|
|
QUIT // Salir del programa
|
|
};
|
|
|
|
// --- Opciones para transiciones entre escenas ---
|
|
enum class Options {
|
|
NONE, // Sin opciones especiales
|
|
LOGO_TO_TITLE, // Del logo al título
|
|
};
|
|
|
|
// --- Variables de estado globales ---
|
|
inline Scene current = Scene::LOGO; // Escena actual (en _DEBUG sobrescrito por Director tras cargar debug.yaml)
|
|
inline Options options = Options::LOGO_TO_TITLE; // Opciones de la escena actual
|
|
inline Scene scene_before_restart = Scene::LOGO; // escena a relanzar tras RESTART_CURRENT
|
|
|
|
} // namespace SceneManager
|