death and restart menu working

This commit is contained in:
2026-01-27 15:11:43 +01:00
parent 916a6e7153
commit f1f0febf29
9 changed files with 72 additions and 27 deletions

View File

@@ -4,25 +4,10 @@ extends OverlaidMenu
@export var options_packed_scene : PackedScene
@export_file("*.tscn") var main_menu_scene : String
@export var menu_context : GUIDEMappingContext
var popup_open : Node
var previous_mapping_contexts : Array
var is_listening_to_inputs = true
func _enter_tree() -> void:
super._enter_tree()
previous_mapping_contexts = GUIDE.get_enabled_mapping_contexts()
for previous_context in previous_mapping_contexts:
GUIDE.disable_mapping_context(previous_context)
GUIDE.enable_mapping_context(menu_context)
func _exit_tree() -> void:
GUIDE.disable_mapping_context(menu_context)
for previous_context in previous_mapping_contexts:
GUIDE.enable_mapping_context(previous_context)
func close_popup() -> void:
if popup_open != null:
popup_open.hide()
@@ -76,8 +61,6 @@ func _ready() -> void:
_hide_exit_for_web()
_hide_options_if_unset()
_hide_main_menu_if_unset()
back_action.triggered.connect(_handle_cancel_input)
func _on_restart_button_pressed() -> void:
%ConfirmRestart.popup_centered()

View File

@@ -11,7 +11,9 @@ extends Control
process_mode = PROCESS_MODE_INHERIT
@export var makes_mouse_visible : bool = true
@export var back_action : GUIDEAction
@export var menu_context : GUIDEMappingContext = preload("uid://c2hpxkcujyc13")
@export var back_action : GUIDEAction = preload("uid://ck43v3q5ype3f")
var previous_mapping_contexts : Array
signal menu_closing
@@ -20,7 +22,12 @@ var _initial_focus_mode : FocusMode = FOCUS_ALL
var _initial_mouse_mode : Input.MouseMode
var _initial_focus_control
var _scene_tree : SceneTree
func _exit_tree() -> void:
GUIDE.disable_mapping_context(menu_context)
for previous_context in previous_mapping_contexts:
GUIDE.enable_mapping_context(previous_context)
func close() -> void:
menu_closing.emit()
_scene_tree.paused = _initial_pause_state
@@ -53,3 +60,10 @@ func _enter_tree() -> void:
_scene_tree.paused = pauses_game or _initial_pause_state
if makes_mouse_visible:
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
previous_mapping_contexts = GUIDE.get_enabled_mapping_contexts()
for previous_context in previous_mapping_contexts:
GUIDE.disable_mapping_context(previous_context)
GUIDE.enable_mapping_context(menu_context)
back_action.triggered.connect(_handle_cancel_input)

View File

@@ -5,6 +5,7 @@ signal restart_pressed
signal main_menu_pressed
func _handle_cancel_input():
return
if $ConfirmExit.visible:
$ConfirmExit.hide()
elif $ConfirmMainMenu.visible: