ajustant el jugador
This commit is contained in:
@@ -11,9 +11,14 @@ namespace Resource {
|
||||
|
||||
class Cache {
|
||||
public:
|
||||
static void init(); // Inicialización singleton
|
||||
static void destroy(); // Destrucción singleton
|
||||
static auto get() -> Cache*; // Acceso al singleton
|
||||
enum class LoadingMode {
|
||||
EAGER, // Carga todos los recursos en init() (comportamiento por defecto, producción)
|
||||
LAZY // Sólo registra nombres; carga cada recurso la primera vez que se pide (desarrollo)
|
||||
};
|
||||
|
||||
static void init(LoadingMode mode = LoadingMode::EAGER); // Inicialización singleton
|
||||
static void destroy(); // Destrucción singleton
|
||||
static auto get() -> Cache*; // Acceso al singleton
|
||||
|
||||
auto getSound(const std::string& name) -> JA_Sound_t*; // Getters de recursos
|
||||
auto getMusic(const std::string& name) -> JA_Music_t*;
|
||||
@@ -57,6 +62,18 @@ namespace Resource {
|
||||
void loadRooms();
|
||||
void createText();
|
||||
|
||||
// Registro de stubs (modo lazy): sólo nombres, sin contenido
|
||||
void initLazyStubs();
|
||||
|
||||
// Cargadores bajo demanda (modo lazy): cargan un recurso individual por nombre
|
||||
void loadSoundByName(const std::string& name);
|
||||
void loadMusicByName(const std::string& name);
|
||||
void loadSurfaceByName(const std::string& name);
|
||||
void loadPaletteByName(const std::string& name);
|
||||
void loadTextFileByName(const std::string& name);
|
||||
void loadAnimationByName(const std::string& name);
|
||||
void loadRoomByName(const std::string& name);
|
||||
|
||||
// Métodos de limpieza
|
||||
void clear();
|
||||
void clearSounds();
|
||||
@@ -73,9 +90,11 @@ namespace Resource {
|
||||
[[noreturn]] static void throwLoadError(const std::string& asset_type, const std::string& file_path, const std::exception& e);
|
||||
|
||||
// Constructor y destructor
|
||||
Cache();
|
||||
explicit Cache(LoadingMode mode);
|
||||
~Cache() = default;
|
||||
|
||||
LoadingMode loading_mode_ = LoadingMode::EAGER;
|
||||
|
||||
// Singleton instance
|
||||
static Cache* cache;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user