diff --git a/source/theme_manager.cpp b/source/theme_manager.cpp index 8ce7c74..534e8cc 100644 --- a/source/theme_manager.cpp +++ b/source/theme_manager.cpp @@ -289,13 +289,11 @@ void ThemeManager::update(float delta_time) { } void ThemeManager::cycleTheme() { - // Ciclar al siguiente tema con wraparound - current_theme_index_ = (current_theme_index_ + 1) % static_cast(themes_.size()); + // Calcular siguiente tema con wraparound + int next_theme_index = (current_theme_index_ + 1) % static_cast(themes_.size()); - // Si es tema dinámico, reiniciar progreso - if (themes_[current_theme_index_]->needsUpdate()) { - themes_[current_theme_index_]->resetProgress(); - } + // Usar switchToTheme() para obtener transición LERP automáticamente + switchToTheme(next_theme_index); } void ThemeManager::pauseDynamic() {