diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-10-01 12:32:00 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-10-01 12:32:00 -0400 |
commit | 54e22c5614ffe3a8a4a74fd3555edccf0c49ab23 (patch) | |
tree | b7e59f69705504978672054820fc59c9c75307ad /apworld/client/manager.gd | |
parent | c7c64dcc56432e85e92a7c619a260bd01bf56e56 (diff) | |
download | lingo2-archipelago-54e22c5614ffe3a8a4a74fd3555edccf0c49ab23.tar.gz lingo2-archipelago-54e22c5614ffe3a8a4a74fd3555edccf0c49ab23.tar.bz2 lingo2-archipelago-54e22c5614ffe3a8a4a74fd3555edccf0c49ab23.zip |
Show in-game when connection drops
Diffstat (limited to 'apworld/client/manager.gd')
-rw-r--r-- | apworld/client/manager.gd | 24 |
1 files changed, 24 insertions, 0 deletions
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 = {} | |||
28 | var _inverse_item_locks = {} | 28 | var _inverse_item_locks = {} |
29 | var _held_letters = {} | 29 | var _held_letters = {} |
30 | var _letters_setup = false | 30 | var _letters_setup = false |
31 | var _already_connected = false | ||
31 | 32 | ||
32 | const kSHUFFLE_LETTERS_VANILLA = 0 | 33 | const kSHUFFLE_LETTERS_VANILLA = 0 |
33 | const kSHUFFLE_LETTERS_UNLOCKED = 1 | 34 | const kSHUFFLE_LETTERS_UNLOCKED = 1 |
@@ -178,6 +179,7 @@ func connectToServer(): | |||
178 | _location_scouts = {} | 179 | _location_scouts = {} |
179 | _letters_setup = false | 180 | _letters_setup = false |
180 | _held_letters = {} | 181 | _held_letters = {} |
182 | _already_connected = false | ||
181 | 183 | ||
182 | client.connectToServer(ap_server, ap_user, ap_pass) | 184 | client.connectToServer(ap_server, ap_user, ap_pass) |
183 | 185 | ||
@@ -187,6 +189,11 @@ func getSaveFileName(): | |||
187 | 189 | ||
188 | 190 | ||
189 | func disconnect_from_ap(): | 191 | func disconnect_from_ap(): |
192 | _already_connected = false | ||
193 | |||
194 | var effects = global.get_node("Effects") | ||
195 | effects.set_connection_lost(false) | ||
196 | |||
190 | client.disconnect_from_ap() | 197 | client.disconnect_from_ap() |
191 | 198 | ||
192 | 199 | ||
@@ -353,12 +360,29 @@ func _on_checked_worldports_updated(): | |||
353 | func _client_could_not_connect(message): | 360 | func _client_could_not_connect(message): |
354 | could_not_connect.emit(message) | 361 | could_not_connect.emit(message) |
355 | 362 | ||
363 | if global.loaded: | ||
364 | var effects = global.get_node("Effects") | ||
365 | effects.set_connection_lost(true) | ||
366 | |||
367 | var messages = global.get_node("Messages") | ||
368 | messages.showMessage("Connection to multiworld lost.") | ||
369 | |||
356 | 370 | ||
357 | func _client_connect_status(message): | 371 | func _client_connect_status(message): |
358 | connect_status.emit(message) | 372 | connect_status.emit(message) |
359 | 373 | ||
360 | 374 | ||
361 | func _client_connected(slot_data): | 375 | func _client_connected(slot_data): |
376 | var effects = global.get_node("Effects") | ||
377 | effects.set_connection_lost(false) | ||
378 | |||
379 | if _already_connected: | ||
380 | var messages = global.get_node("Messages") | ||
381 | messages.showMessage("Reconnected to multiworld!") | ||
382 | return | ||
383 | |||
384 | _already_connected = true | ||
385 | |||
362 | var gamedata = global.get_node("Gamedata") | 386 | var gamedata = global.get_node("Gamedata") |
363 | 387 | ||
364 | _localdata_file = "user://archipelago_data/%s_%d" % [client._seed, client._slot] | 388 | _localdata_file = "user://archipelago_data/%s_%d" % [client._seed, client._slot] |