Resource: optimitzat i netejat el proces de càrrega

This commit is contained in:
2025-06-10 23:01:29 +02:00
parent 8741f9da58
commit e6f4e27fbd
3 changed files with 49 additions and 20 deletions

View File

@@ -97,6 +97,7 @@ private:
ResourceCount(size_t total) : total(total), loaded(0) {}
void add(size_t amount) { loaded += amount; }
void increase() { loaded++; }
float getPercentage() const
{
return total > 0 ? static_cast<float>(loaded) / static_cast<float>(total) : 0.0f;
@@ -119,6 +120,8 @@ private:
ResourceCount loading_count_; // Contador de recursos cargados
std::shared_ptr<Text> loading_text_; // Texto para escribir en pantalla
std::string loading_resource_name_; // Nombre del recurso que se está cargando
SDL_FRect loading_wired_rect_;
SDL_FRect loading_full_rect_;
// --- Métodos internos de carga y gestión ---
void loadSounds(); // Carga los sonidos
@@ -136,10 +139,12 @@ private:
void clearMusics(); // Vacía el vector de músicas
// --- Métodos internos para gestionar el progreso ---
void calculateTotal(); // Calcula el número de recursos para cargar
void calculateTotalResources(); // Calcula el número de recursos para cargar
void renderProgress(); // Muestra el progreso de carga
void checkEvents(); // Comprueba los eventos durante la carga
void updateLoadingProgress(std::string name); // Actualiza el progreso de carga
void initProgressBar(); // Inicializa los rectangulos que definen la barra de progreso
void updateProgressBar(); // Actualiza la barra de estado
// --- Constructores y destructor privados (singleton) ---
Resource(); // Constructor privado