#pragma once #include /* 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 : std::uint8_t { 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 : std::uint8_t { 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