Close every top modal through one Esc and right-click path
- Add Help, Settings, Pause and review to the top-modal close chain so right-click and Esc behave consistently. - Restore the venue menu after menu Settings and prevent Help from opening Pause behind itself. - Reopen pause after in-shift Settings apply and recapture the mouse/unfreeze state on close. - Extend the session smoke for menu Settings, right-click Help and guard unfreeze.
This commit is contained in:
1 parent
8f65751975
commit
26e6dd6413
8 files changed
+111
-6
No files matched your search
@@ -22,6 +22,33 @@ func _initialize() -> void:
|
||||
|
||||
func _process(_delta: float) -> bool:
|
||||
_frames += 1
|
||||
if _frames == 5:
|
||||
_manager = _main.get_node_or_null("GameManager")
|
||||
if _manager == null or _manager.start_menu == null or not _manager.start_menu.visible:
|
||||
printerr("start menu not visible before settings check")
|
||||
quit(1)
|
||||
return true
|
||||
_manager._open_settings()
|
||||
if _frames == 7:
|
||||
if _manager.settings_panel == null or not _manager.settings_panel.visible:
|
||||
printerr("settings did not open from the venue menu")
|
||||
quit(1)
|
||||
return true
|
||||
_manager.settings_panel._on_cancel()
|
||||
if _frames == 8:
|
||||
if not _manager.start_menu.visible:
|
||||
printerr("cancelling menu settings did not return to the venue menu")
|
||||
quit(1)
|
||||
return true
|
||||
print("boot: menu settings cancel returns to menu")
|
||||
_manager._open_help()
|
||||
_manager._handle_cancel(true)
|
||||
if _frames == 9:
|
||||
if _manager.help_overlay.visible or not _manager.start_menu.visible:
|
||||
printerr("right-click did not close Help and keep the venue menu")
|
||||
quit(1)
|
||||
return true
|
||||
print("boot: help closes on right-click")
|
||||
if _frames == 10:
|
||||
_manager = _main.get_node_or_null("GameManager")
|
||||
if _manager.start_menu == null or not _manager.start_menu.visible:
|
||||
@@ -65,6 +92,10 @@ func _process(_delta: float) -> bool:
|
||||
return true
|
||||
print("boot: settings visible")
|
||||
_manager.settings_panel._on_cancel()
|
||||
if _manager.guard.input_locked:
|
||||
printerr("guard stayed frozen after settings cancel")
|
||||
quit(1)
|
||||
return true
|
||||
_manager._quit_to_menu()
|
||||
if _frames == 290:
|
||||
if not _manager.start_menu.visible:
|
||||
|
||||
Reference in new issue
Block a user