#pragma once #include #include // Para string #include // Para vector class Director { public: explicit Director(std::vector const& args); // 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 static auto checkProgramArguments(std::vector const& args) -> std::string; // Comprueba los parametros del programa // --- 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 runTitle(); // Ejecuta la seccion de juego con el titulo y los menus static void runGame(); // Ejecuta la seccion de juego donde se juega };