canvi de pc

This commit is contained in:
2025-07-13 22:35:38 +02:00
parent 91839b3444
commit 7340b349b1
2 changed files with 33 additions and 14 deletions

View File

@@ -1366,6 +1366,25 @@ void Game::checkInput()
// Verifica los inputs globales.
GlobalInputs::check();
// Comprueba si se ha activado/desactivado el menu de servcicio para poner/quitar la pausa
// Debe ir despues de GlobalInputs::check() que es el que activa/desactiva el menu de servicio
if (Input::get()->checkInput(InputAction::SERVICE, INPUT_DO_NOT_ALLOW_REPEAT))
{
static bool wasPausedBeforeServiceMenu = false;
if (ServiceMenu::get()->isEnabled())
{
// Guardamos el estado actual antes de modificarlo
wasPausedBeforeServiceMenu = paused_;
pause(true);
}
else
{
// Restauramos el estado anterior
pause(wasPausedBeforeServiceMenu);
}
}
}
// Verifica si alguno de los controladores ha solicitado una pausa y actualiza el estado de pausa del juego.
@@ -2033,23 +2052,22 @@ void Game::playSound(const std::string &name)
// Organiza los jugadores para que los vivos se pinten sobre los muertos
void Game::movePlayersToFront()
{
if (players_to_reorder.empty())
return;
if (players_to_reorder.empty())
return;
for (auto& player : players_to_reorder)
{
auto it = std::find(players_.begin(), players_.end(), player);
if (it != players_.end() && it != players_.begin())
{
std::shared_ptr<Player> dyingPlayer = *it;
players_.erase(it);
players_.insert(players_.begin(), dyingPlayer);
}
}
players_to_reorder.clear();
for (auto &player : players_to_reorder)
{
auto it = std::find(players_.begin(), players_.end(), player);
if (it != players_.end() && it != players_.begin())
{
std::shared_ptr<Player> dyingPlayer = *it;
players_.erase(it);
players_.insert(players_.begin(), dyingPlayer);
}
}
players_to_reorder.clear();
}
#ifdef DEBUG
// Comprueba los eventos en el modo DEBUG
void Game::checkDebugEvents(const SDL_Event &event)

View File

@@ -144,6 +144,7 @@ private:
bool coffee_machine_enabled_ = false; // Indica si hay una máquina de café en el terreno de juego
bool hi_score_achieved_ = false; // Indica si se ha superado la puntuación máxima
bool paused_ = false; // Indica si el juego está pausado (no se deberia de poder utilizar en el modo arcade)
//bool paused_by_service_menu_ = false;
float difficulty_score_multiplier_; // Multiplicador de puntos en función de la dificultad
int counter_ = 0; // Contador para el juego
int game_completed_counter_ = 0; // Contador para el tramo final, cuando se ha completado la partida y ya no aparecen más enemigos