extends Control class_name EscapeMenu ## Escape menu that opens when Escape is pressed ## Allows player to exit the game or resume playing # Visibility var is_visible: bool = false # Player reference (to control mouse mode) var player: Character = null func _ready(): # Start hidden hide() is_visible = false func _input(event): # Toggle on Escape press if event.is_action_pressed("quit"): toggle_menu() get_viewport().set_input_as_handled() ## Set the player reference func set_player(p: Character): player = p ## Toggle menu visibility func toggle_menu(): is_visible = !is_visible if is_visible: show() # Release mouse when opening menu Input.mouse_mode = Input.MOUSE_MODE_VISIBLE else: hide() # Recapture mouse when closing menu if player and player.is_multiplayer_authority(): Input.mouse_mode = Input.MOUSE_MODE_CAPTURED ## Called when Resume button is clicked func _on_resume_pressed(): toggle_menu() ## Called when Exit button is clicked func _on_exit_pressed(): get_tree().quit()