From 54e22c5614ffe3a8a4a74fd3555edccf0c49ab23 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 1 Oct 2025 12:32:00 -0400 Subject: Show in-game when connection drops --- apworld/client/manager.gd | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'apworld/client/manager.gd') diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index a5b9db0..9212233 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -28,6 +28,7 @@ var _item_locks = {} var _inverse_item_locks = {} var _held_letters = {} var _letters_setup = false +var _already_connected = false const kSHUFFLE_LETTERS_VANILLA = 0 const kSHUFFLE_LETTERS_UNLOCKED = 1 @@ -178,6 +179,7 @@ func connectToServer(): _location_scouts = {} _letters_setup = false _held_letters = {} + _already_connected = false client.connectToServer(ap_server, ap_user, ap_pass) @@ -187,6 +189,11 @@ func getSaveFileName(): func disconnect_from_ap(): + _already_connected = false + + var effects = global.get_node("Effects") + effects.set_connection_lost(false) + client.disconnect_from_ap() @@ -353,12 +360,29 @@ func _on_checked_worldports_updated(): func _client_could_not_connect(message): could_not_connect.emit(message) + if global.loaded: + var effects = global.get_node("Effects") + effects.set_connection_lost(true) + + var messages = global.get_node("Messages") + messages.showMessage("Connection to multiworld lost.") + func _client_connect_status(message): connect_status.emit(message) func _client_connected(slot_data): + var effects = global.get_node("Effects") + effects.set_connection_lost(false) + + if _already_connected: + var messages = global.get_node("Messages") + messages.showMessage("Reconnected to multiworld!") + return + + _already_connected = true + var gamedata = global.get_node("Gamedata") _localdata_file = "user://archipelago_data/%s_%d" % [client._seed, client._slot] -- cgit 1.4.1