diff --git a/source/sections/game.cpp b/source/sections/game.cpp index 053d808..98a61c9 100644 --- a/source/sections/game.cpp +++ b/source/sections/game.cpp @@ -1932,11 +1932,19 @@ void Game::onPauseStateChanged(bool is_paused) { // Maneja eventos del juego completado usando flags para triggers Ășnicos void Game::handleGameCompletedEvents() { + static bool start_celebrations_triggered = false; + static bool end_celebrations_triggered = false; + + // Resetear + if (game_completed_timer_ == 0.0f) { + start_celebrations_triggered = false; + end_celebrations_triggered = false; + } + constexpr float START_CELEBRATIONS_S = 6.0f; constexpr float END_CELEBRATIONS_S = 14.0f; // Inicio de celebraciones - static bool start_celebrations_triggered = false; if (!start_celebrations_triggered && game_completed_timer_ >= START_CELEBRATIONS_S) { createMessage({paths_.at(4), paths_.at(5)}, Resource::get()->getTexture("game_text_congratulations")); createMessage({paths_.at(6), paths_.at(7)}, Resource::get()->getTexture("game_text_1000000_points")); @@ -1956,15 +1964,12 @@ void Game::handleGameCompletedEvents() { } // Fin de celebraciones - static bool end_celebrations_triggered = false; if (!end_celebrations_triggered && game_completed_timer_ >= END_CELEBRATIONS_S) { for (auto &player : players_) { if (player->isCelebrating()) { player->setPlayingState(player->qualifiesForHighScore() ? Player::State::ENTERING_NAME_GAME_COMPLETED : Player::State::LEAVING_SCREEN); } } - - fade_out_->activate(); end_celebrations_triggered = true; } }