fix(define-inputs): deixa passar QUIT i ESC al pipeline global
L'overlay de redefinicio engolia tots els events mentre estava actiu, fet que impedia tancar la finestra amb l'aspa (SDL_EVENT_QUIT) i deixava prendre ESC com a cancel-lacio del rebind. Ara: - QUIT i WINDOW_CLOSE_REQUESTED passen sempre al global per tancar l'aplicacio des de l'aspa. - ESC ja no cancel-la la sequencia; cau al global on obre el prompt d'eixida com a la resta del joc. - isReservedScancode (ESC/F1-F12/RETURN/BACKSPACE/TAB) deixa passar. Tambe ajusta DISPAR -> DISPARAR a ca.yaml i treu el hint "ESC PER CANCEL-LAR" del modal i les claus de locale corresponents. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -51,14 +51,16 @@ namespace GlobalEvents {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Si l'overlay de redefinicio esta actiu, engoleix tots els events.
|
||||
// Engoleix els events que DefineInputs vol consumir mentre l'overlay
|
||||
// es actiu. Els events que el modul torna a passar (QUIT, ESC) cauen
|
||||
// cap al pipeline normal i poden tancar la finestra o obrir el prompt
|
||||
// d'eixida sense haver de completar la sequencia.
|
||||
auto consumeIfDefineActive(const SDL_Event& event) -> bool {
|
||||
auto* di = System::DefineInputs::get();
|
||||
if (di == nullptr || !di->isActive()) {
|
||||
return false;
|
||||
}
|
||||
di->handleEvent(event);
|
||||
return true;
|
||||
return di->handleEvent(event);
|
||||
}
|
||||
|
||||
// Botó MENU al mando d'algun jugador → alterna el menú de servei
|
||||
|
||||
Reference in New Issue
Block a user