Files
millimeters-of-aluminum/scenes/UI/ingame_menu/ingame_menu.gd
2025-12-05 15:50:48 +01:00

35 lines
913 B
GDScript

extends Control
@onready var resume_button: Button = %ResumeButton
@onready var disconnect_button: Button = %DisconnectButton
@onready var quit_button: Button = %QuitButton
func _ready():
resume_button.pressed.connect(toggle_menu)
disconnect_button.pressed.connect(_on_disconnect_pressed)
quit_button.pressed.connect(_on_quit_pressed)
hide()
func _input(event):
if event.is_action_pressed("ui_cancel"):
toggle_menu()
func toggle_menu():
visible = !visible
if visible:
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
else:
# Only capture mouse if we are actually playing a pawn
# You might need a smarter check here depending on game state
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func _on_disconnect_pressed():
NetworkHandler.close_connection()
toggle_menu()
# Return to main menu
get_tree().change_scene_to_file("res://main.tscn")
func _on_quit_pressed():
get_tree().quit()