feat: implement pause menu with loadout, settings, and input rebinding support

This commit is contained in:
DottsGit
2026-06-10 21:58:44 -04:00
parent 4cb27f991e
commit def2925a43
+8 -4
View File
@@ -271,14 +271,16 @@ func _build_ui() -> void:
var user_save = Button.new() var user_save = Button.new()
user_save.text = "Save" user_save.text = "Save"
user_save.pressed.connect(func(): user_save.pressed.connect(func():
SettingsManager.username = user_input.text var final_name = user_input.text.strip_edges()
user_input.text = final_name
SettingsManager.username = final_name
SettingsManager._save_settings() SettingsManager._save_settings()
var nm = get_node_or_null("/root/NetworkManager") var nm = get_node_or_null("/root/NetworkManager")
if nm: if nm:
if nm.multiplayer.has_multiplayer_peer() and not nm.multiplayer.multiplayer_peer is OfflineMultiplayerPeer: if nm.multiplayer.has_multiplayer_peer() and not nm.multiplayer.multiplayer_peer is OfflineMultiplayerPeer:
nm.update_username.rpc_id(1, user_input.text) nm.update_username.rpc_id(1, final_name)
else: else:
nm.update_username(user_input.text) nm.update_username(final_name)
) )
user_hbox.add_child(user_save) user_hbox.add_child(user_save)
@@ -920,7 +922,9 @@ func _populate_options(opt: OptionButton, category: String, current_id: String)
func _save_current_loadout() -> void: func _save_current_loadout() -> void:
if editing_index >= 0 and editing_index < LoadoutManager.loadouts.size(): if editing_index >= 0 and editing_index < LoadoutManager.loadouts.size():
var l = LoadoutManager.loadouts[editing_index] var l = LoadoutManager.loadouts[editing_index]
l["name"] = name_edit.text if name_edit.text.strip_edges() != "":
l["name"] = name_edit.text.strip_edges()
name_edit.text = l["name"]
l["primary_1"] = primary1_opt.get_item_metadata(primary1_opt.get_selected_id()) l["primary_1"] = primary1_opt.get_item_metadata(primary1_opt.get_selected_id())
l["primary_2"] = primary2_opt.get_item_metadata(primary2_opt.get_selected_id()) l["primary_2"] = primary2_opt.get_item_metadata(primary2_opt.get_selected_id())
l["special"] = special_opt.get_item_metadata(special_opt.get_selected_id()) l["special"] = special_opt.get_item_metadata(special_opt.get_selected_id())