ESC global amb doble pulsació: F12=pausa, BACKSPACE=cancel, text pausa més clar

This commit is contained in:
2026-05-17 18:10:15 +02:00
parent 659e37e5a1
commit a40931c7ca
12 changed files with 104 additions and 66 deletions
+10 -9
View File
@@ -2809,6 +2809,16 @@ void Game::updatePauseMenuUI() {
pause_menu_->update();
pause_menu_->checkInput();
// F12 (Action::PAUSE) també tanca el menú de pausa — mateix comportament
// que seleccionar "Continue" / cancel·lar amb BACKSPACE.
if (Input::get()->checkInput(Input::Action::PAUSE, Input::Repeat::OFF)) {
leaving_pause_menu_ = true;
if (!Options::gameplay.pause_countdown) {
pause_counter_ = 0;
}
return;
}
switch (pause_menu_->getItemSelected()) {
case 1:
leaving_pause_menu_ = true;
@@ -2884,15 +2894,6 @@ void Game::enterPausedGame() {
Audio::get()->pauseMusic();
}
// ESC esta vinculada a PAUSE, CANCEL y EXIT a la vez (director.cpp), y cada
// Action tiene su propio flag de edge-trigger. La pulsacion que nos ha
// traido aqui solo ha actualizado el flag de PAUSE; CANCEL y EXIT siguen
// a false y dispararian un falso flanco la primera vez que el menu de
// pausa los lea. Hacemos una lectura sincronizadora descartada para
// ponerlos al dia con el estado real de la tecla.
Input::get()->checkInput(Input::Action::CANCEL, Input::Repeat::OFF);
Input::get()->checkInput(Input::Action::EXIT, Input::Repeat::OFF);
// Reinicia el menu
pause_menu_->reset();
leaving_pause_menu_ = false;