diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-12 16:22:38 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-12 16:22:38 -0400 |
| commit | 437438ad6aed07a2c1d149a72759f7f2a3277ea6 (patch) | |
| tree | 82534db3d69ad8c50e9f47fff52134cd945213f4 /Archipelago | |
| parent | 563382d459ce18b6df4e5cf9161bc47d942d9276 (diff) | |
| download | lingo-archipelago-437438ad6aed07a2c1d149a72759f7f2a3277ea6.tar.gz lingo-archipelago-437438ad6aed07a2c1d149a72759f7f2a3277ea6.tar.bz2 lingo-archipelago-437438ad6aed07a2c1d149a72759f7f2a3277ea6.zip | |
Created global client object
Diffstat (limited to 'Archipelago')
| -rw-r--r-- | Archipelago/client.gd | 44 | ||||
| -rw-r--r-- | Archipelago/settings_buttons.gd | 24 | ||||
| -rw-r--r-- | Archipelago/settings_screen.gd | 22 |
3 files changed, 59 insertions, 31 deletions
| diff --git a/Archipelago/client.gd b/Archipelago/client.gd new file mode 100644 index 0000000..1d2affd --- /dev/null +++ b/Archipelago/client.gd | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | extends Node | ||
| 2 | |||
| 3 | var ap_server = "" | ||
| 4 | var ap_user = "" | ||
| 5 | var ap_pass = "" | ||
| 6 | |||
| 7 | |||
| 8 | func _init(): | ||
| 9 | global._print("Instantiated APClient") | ||
| 10 | |||
| 11 | # Read AP settings from file, if there are any | ||
| 12 | var file = File.new() | ||
| 13 | if file.file_exists("user://settings/archipelago"): | ||
| 14 | file.open("user://settings/archipelago", File.READ) | ||
| 15 | var data = file.get_var(true) | ||
| 16 | file.close() | ||
| 17 | |||
| 18 | if data.size() > 0: | ||
| 19 | ap_server = data[0] | ||
| 20 | if data.size() > 1: | ||
| 21 | ap_user = data[1] | ||
| 22 | if data.size() > 2: | ||
| 23 | ap_pass = data[2] | ||
| 24 | |||
| 25 | |||
| 26 | func _ready(): | ||
| 27 | pass | ||
| 28 | |||
| 29 | |||
| 30 | func saveSettings(): | ||
| 31 | # Save the AP settings to disk. | ||
| 32 | var dir = Directory.new() | ||
| 33 | var path = "user://settings" | ||
| 34 | if dir.dir_exists(path): | ||
| 35 | pass | ||
| 36 | else: | ||
| 37 | dir.make_dir(path) | ||
| 38 | |||
| 39 | var file = File.new() | ||
| 40 | file.open("user://settings/archipelago", File.WRITE) | ||
| 41 | |||
| 42 | var data = [ap_server, ap_user, ap_pass] | ||
| 43 | file.store_var(data, true) | ||
| 44 | file.close() | ||
| diff --git a/Archipelago/settings_buttons.gd b/Archipelago/settings_buttons.gd index 5b4d837..1ab3788 100644 --- a/Archipelago/settings_buttons.gd +++ b/Archipelago/settings_buttons.gd | |||
| @@ -6,25 +6,11 @@ func _ready(): | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | func _connect_pressed(): | 8 | func _connect_pressed(): |
| 9 | # Save the AP settings to disk. | 9 | var apclient = global.get_node("Archipelago") |
| 10 | var dir = Directory.new() | 10 | apclient.ap_server = self.get_parent().get_node("server_box").text |
| 11 | var path = "user://settings" | 11 | apclient.ap_user = self.get_parent().get_node("player_box").text |
| 12 | if dir.dir_exists(path): | 12 | apclient.ap_pass = self.get_parent().get_node("password_box").text |
| 13 | pass | 13 | apclient.saveSettings() |
| 14 | else: | ||
| 15 | dir.make_dir(path) | ||
| 16 | |||
| 17 | var file = File.new() | ||
| 18 | file.open("user://settings/archipelago", File.WRITE) | ||
| 19 | |||
| 20 | var data = [ | ||
| 21 | self.get_parent().get_node("server_box").text, | ||
| 22 | self.get_parent().get_node("player_box").text, | ||
| 23 | self.get_parent().get_node("password_box").text | ||
| 24 | ] | ||
| 25 | |||
| 26 | file.store_var(data, true) | ||
| 27 | file.close() | ||
| 28 | 14 | ||
| 29 | 15 | ||
| 30 | func _back_pressed(): | 16 | func _back_pressed(): |
| diff --git a/Archipelago/settings_screen.gd b/Archipelago/settings_screen.gd index 91f233d..3740751 100644 --- a/Archipelago/settings_screen.gd +++ b/Archipelago/settings_screen.gd | |||
| @@ -6,16 +6,14 @@ func _ready(): | |||
| 6 | get_tree().get_root().set_disable_input(false) | 6 | get_tree().get_root().set_disable_input(false) |
| 7 | Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) | 7 | Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) |
| 8 | 8 | ||
| 9 | # Read AP settings from file, if there are any | 9 | # Create the global AP client, if it doesn't already exist. |
| 10 | var file = File.new() | 10 | if not global.has_node("Archipelago"): |
| 11 | if file.file_exists("user://settings/archipelago"): | 11 | var apclient = ResourceLoader.load("user://maps/Archipelago/client.gd") |
| 12 | file.open("user://settings/archipelago", File.READ) | 12 | var apclient_instance = apclient.new() |
| 13 | var data = file.get_var(true) | 13 | apclient_instance.name = "Archipelago" |
| 14 | file.close() | 14 | global.add_child(apclient_instance) |
| 15 | 15 | ||
| 16 | if data.size() > 0: | 16 | # Populate textboxes with AP settings. |
| 17 | self.get_node("Panel/server_box").text = data[0] | 17 | self.get_node("Panel/server_box").text = global.get_node("Archipelago").ap_server |
| 18 | if data.size() > 1: | 18 | self.get_node("Panel/player_box").text = global.get_node("Archipelago").ap_user |
| 19 | self.get_node("Panel/player_box").text = data[1] | 19 | self.get_node("Panel/password_box").text = global.get_node("Archipelago").ap_pass |
| 20 | if data.size() > 2: | ||
| 21 | self.get_node("Panel/password_box").text = data[2] | ||
