#pragma once #include #include "asset.hpp" #include "resource_loader.hpp" // Extensión de Asset que integra ResourceLoader class AssetIntegrated : public Asset { public: // Inicializa Asset con ResourceLoader static void initWithResourcePack(const std::string& executable_path, const std::string& resource_pack_path = "resources.pack"); // Carga un archivo usando ResourceLoader como primera opción auto loadFile(const std::string& filename) -> std::vector; // Verifica si un archivo existe (pack o filesystem) auto fileExists(const std::string& filename) const -> bool; // Obtiene la ruta completa para archivos del sistema/config auto getSystemPath(const std::string& filename) const -> std::string; private: static bool resource_pack_enabled; // Determina si un archivo debe cargarse del pack o del filesystem auto shouldUseResourcePack(const std::string& filepath) const -> bool; };