diff --git a/source/balloon_manager.cpp b/source/balloon_manager.cpp index 0dc84f1..846438e 100644 --- a/source/balloon_manager.cpp +++ b/source/balloon_manager.cpp @@ -77,7 +77,7 @@ void BalloonManager::update(float deltaTime) { balloon->update(deltaTime); } updateBalloonDeployCounter(deltaTime); - explosions_->update(); // Explosions aún no migrado a deltaTime + explosions_->update(deltaTime); } // Renderiza los objetos diff --git a/source/explosions.cpp b/source/explosions.cpp index b0697ef..2fc0ef1 100644 --- a/source/explosions.cpp +++ b/source/explosions.cpp @@ -6,7 +6,7 @@ class Texture; // lines 4-4 -// Actualiza la lógica de la clase +// Actualiza la lógica de la clase (frame-based) void Explosions::update() { for (auto &explosion : explosions_) { explosion->update(); @@ -16,6 +16,16 @@ void Explosions::update() { freeExplosions(); } +// Actualiza la lógica de la clase (time-based) +void Explosions::update(float deltaTime) { + for (auto &explosion : explosions_) { + explosion->update(deltaTime); + } + + // Vacia el vector de elementos finalizados + freeExplosions(); +} + // Dibuja el objeto en pantalla void Explosions::render() { for (auto &explosion : explosions_) { diff --git a/source/explosions.h b/source/explosions.h index 20a39c2..dd5b899 100644 --- a/source/explosions.h +++ b/source/explosions.h @@ -29,8 +29,9 @@ class Explosions { ~Explosions() = default; // Destructor por defecto // --- Métodos principales --- - void update(); // Actualiza la lógica de la clase - void render(); // Dibuja el objeto en pantalla + void update(); // Actualiza la lógica de la clase (frame-based) + void update(float deltaTime); // Actualiza la lógica de la clase (time-based) + void render(); // Dibuja el objeto en pantalla // --- Configuración --- void addTexture(int size, const std::shared_ptr &texture, const std::vector &animation); // Añade texturas al objeto diff --git a/source/sections/credits.cpp b/source/sections/credits.cpp index 1248cf0..593805c 100644 --- a/source/sections/credits.cpp +++ b/source/sections/credits.cpp @@ -616,12 +616,12 @@ void Credits::updateAllFades(float deltaTime) { updateRedRect(); } - fade_in_->update(); // Fade aún no migrado a deltaTime + fade_in_->update(); // Fade ya usa tiempo interno if (fade_in_->hasEnded()) { Audio::get()->playMusic("credits.ogg"); } - fade_out_->update(); // Fade aún no migrado a deltaTime + fade_out_->update(); // Fade ya usa tiempo interno if (fade_out_->hasEnded()) { Section::name = Section::Name::HI_SCORE_TABLE; }