#pragma once #include #include // Para string class Director { public: Director(); // Constructor ~Director(); // Destructor static auto run() -> int; // Bucle principal private: // --- Variables --- std::string executable_path_; // Path del ejecutable std::string system_folder_; // Carpeta del sistema donde guardar datos // --- Funciones --- void createSystemFolder(const std::string& folder); // Crea la carpeta del sistema donde guardar datos void setFileList(); // Carga la configuración de assets desde assets.yaml static void runLogo(); // Ejecuta la seccion de juego con el logo static void runLoadingScreen(); // Ejecuta la seccion de juego de la pantalla de carga static void runTitle(); // Ejecuta la seccion de juego con el titulo y los menus static void runCredits(); // Ejecuta la seccion de los creditos del juego static void runDemo(); // Ejecuta la seccion de la demo, donde se ven pantallas del juego static void runEnding(); // Ejecuta la seccion del final del juego static void runEnding2(); // Ejecuta la seccion del final del juego static void runGameOver(); // Ejecuta la seccion del final de la partida static void runGame(); // Ejecuta la seccion de juego donde se juega };