diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-20 22:48:41 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-20 22:48:41 -0400 |
| commit | 86a87b882be20825af21bd09225aaa35ca793777 (patch) | |
| tree | e88b673021c26170b27c069995c29828f58d7648 /Archipelago | |
| parent | a297dd6d094466214d746c84a66fe70a0bed97d5 (diff) | |
| download | lingo-archipelago-86a87b882be20825af21bd09225aaa35ca793777.tar.gz lingo-archipelago-86a87b882be20825af21bd09225aaa35ca793777.tar.bz2 lingo-archipelago-86a87b882be20825af21bd09225aaa35ca793777.zip | |
Disable connect button while connecting
Pressing back now also halts the connection.
Diffstat (limited to 'Archipelago')
| -rw-r--r-- | Archipelago/client.gd | 13 | ||||
| -rw-r--r-- | Archipelago/settings_buttons.gd | 5 | ||||
| -rw-r--r-- | Archipelago/settings_screen.gd | 2 |
3 files changed, 19 insertions, 1 deletions
| diff --git a/Archipelago/client.gd b/Archipelago/client.gd index a6a78e2..bb6d0a2 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
| @@ -124,6 +124,11 @@ func _connected(_proto = ""): | |||
| 124 | global._print("Connected!") | 124 | global._print("Connected!") |
| 125 | 125 | ||
| 126 | 126 | ||
| 127 | func disconnect_from_ap(): | ||
| 128 | _initiated_disconnect = true | ||
| 129 | _client.disconnect_from_host() | ||
| 130 | |||
| 131 | |||
| 127 | func _on_data(): | 132 | func _on_data(): |
| 128 | var packet = _client.get_peer(1).get_packet() | 133 | var packet = _client.get_peer(1).get_packet() |
| 129 | global._print("Got data from server: " + packet.get_string_from_utf8()) | 134 | global._print("Got data from server: " + packet.get_string_from_utf8()) |
| @@ -388,7 +393,13 @@ func connectToServer(): | |||
| 388 | var url = "ws://" + ap_server | 393 | var url = "ws://" + ap_server |
| 389 | var err = _client.connect_to_url(url) | 394 | var err = _client.connect_to_url(url) |
| 390 | if err != OK: | 395 | if err != OK: |
| 391 | emit_signal("could_not_connect", "Could not connect to Archipelago. Error code: %d." % err) | 396 | emit_signal( |
| 397 | "could_not_connect", | ||
| 398 | ( | ||
| 399 | "Could not connect to Archipelago. Check that your server and port are correct. See the error log for more information. Error code: %d." | ||
| 400 | % err | ||
| 401 | ) | ||
| 402 | ) | ||
| 392 | global._print("Could not connect to AP: " + err) | 403 | global._print("Could not connect to AP: " + err) |
| 393 | return | 404 | return |
| 394 | _should_process = true | 405 | _should_process = true |
| diff --git a/Archipelago/settings_buttons.gd b/Archipelago/settings_buttons.gd index 735f944..0050504 100644 --- a/Archipelago/settings_buttons.gd +++ b/Archipelago/settings_buttons.gd | |||
| @@ -6,6 +6,8 @@ func _ready(): | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | func _connect_pressed(): | 8 | func _connect_pressed(): |
| 9 | self.disabled = true | ||
| 10 | |||
| 9 | var apclient = global.get_node("Archipelago") | 11 | var apclient = global.get_node("Archipelago") |
| 10 | apclient.ap_server = self.get_parent().get_node("server_box").text | 12 | apclient.ap_server = self.get_parent().get_node("server_box").text |
| 11 | apclient.ap_user = self.get_parent().get_node("player_box").text | 13 | apclient.ap_user = self.get_parent().get_node("player_box").text |
| @@ -16,4 +18,7 @@ func _connect_pressed(): | |||
| 16 | 18 | ||
| 17 | 19 | ||
| 18 | func _back_pressed(): | 20 | func _back_pressed(): |
| 21 | var apclient = global.get_node("Archipelago") | ||
| 22 | apclient.disconnect_from_ap() | ||
| 23 | |||
| 19 | fader._fade_start("main_menu") | 24 | fader._fade_start("main_menu") |
| diff --git a/Archipelago/settings_screen.gd b/Archipelago/settings_screen.gd index 0eb68cf..b74617b 100644 --- a/Archipelago/settings_screen.gd +++ b/Archipelago/settings_screen.gd | |||
| @@ -66,6 +66,8 @@ func connectionSuccessful(): | |||
| 66 | 66 | ||
| 67 | 67 | ||
| 68 | func connectionUnsuccessful(error_message): | 68 | func connectionUnsuccessful(error_message): |
| 69 | self.get_node("Panel/connect_button").disabled = false | ||
| 70 | |||
| 69 | var popup = self.get_node("Panel/AcceptDialog") | 71 | var popup = self.get_node("Panel/AcceptDialog") |
| 70 | popup.window_title = "Could not connect to Archipelago" | 72 | popup.window_title = "Could not connect to Archipelago" |
| 71 | popup.dialog_text = error_message | 73 | popup.dialog_text = error_message |
