Resource: afegida pantalla de progres de càrrega

Screen: Afegit objecte de text propi per a la clase
This commit is contained in:
2025-06-10 22:08:17 +02:00
parent 02b111e4fd
commit cabee86ee0
7 changed files with 160 additions and 128 deletions

View File

@@ -90,13 +90,13 @@ private:
// --- Estructura para el progreso de carga ---
struct ResourceCount
{
int total; // Número total de recursos
int loaded; // Número de recursos cargados
size_t total; // Número total de recursos
size_t loaded; // Número de recursos cargados
ResourceCount() : total(0), loaded(0) {}
ResourceCount(int total, int loaded) : total(total), loaded(loaded) {}
ResourceCount(size_t total) : total(total), loaded(0) {}
void add(int amount) { loaded += amount; }
void add(size_t amount) { loaded += amount; }
float getPercentage() const
{
return total > 0 ? static_cast<float>(loaded) / static_cast<float>(total) : 0.0f;
@@ -116,7 +116,9 @@ private:
std::vector<DemoData> demos_; // Vector con los ficheros de datos para el modo demostración
// --- Progreso de carga ---
ResourceCount count_; // Contador de recursos cargados
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
// --- Métodos internos de carga y gestión ---
void loadSounds(); // Carga los sonidos
@@ -134,10 +136,10 @@ 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 renderProgress(); // Muestra el progreso de carga
void checkEvents(); // Comprueba los eventos durante la carga
void updateLoadingProgress(int steps = 1); // Actualiza el progreso de carga
void calculateTotal(); // 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
// --- Constructores y destructor privados (singleton) ---
Resource(); // Constructor privado