diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-27 11:37:51 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-27 11:37:51 -0400 |
commit | 86a5188548f80eab6bce3cb6686c49f8448683db (patch) | |
tree | e477fe61c73162fb8eb081489635f3971a3b357a /apworld/client/textclient.gd | |
parent | b524e153ad71e368afbe50da78c4b73c3ac65c5f (diff) | |
download | lingo2-archipelago-86a5188548f80eab6bce3cb6686c49f8448683db.tar.gz lingo2-archipelago-86a5188548f80eab6bce3cb6686c49f8448683db.tar.bz2 lingo2-archipelago-86a5188548f80eab6bce3cb6686c49f8448683db.zip |
Added locations overlay
Diffstat (limited to 'apworld/client/textclient.gd')
-rw-r--r-- | apworld/client/textclient.gd | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/apworld/client/textclient.gd b/apworld/client/textclient.gd index e345489..1b36c29 100644 --- a/apworld/client/textclient.gd +++ b/apworld/client/textclient.gd | |||
@@ -7,11 +7,25 @@ var entry | |||
7 | var tracker_label | 7 | var tracker_label |
8 | var is_open = false | 8 | var is_open = false |
9 | 9 | ||
10 | var locations_overlay | ||
11 | |||
10 | 12 | ||
11 | func _ready(): | 13 | func _ready(): |
12 | process_mode = ProcessMode.PROCESS_MODE_ALWAYS | 14 | process_mode = ProcessMode.PROCESS_MODE_ALWAYS |
13 | layer = 2 | 15 | layer = 2 |
14 | 16 | ||
17 | locations_overlay = RichTextLabel.new() | ||
18 | locations_overlay.name = "LocationsOverlay" | ||
19 | locations_overlay.offset_top = 220 | ||
20 | locations_overlay.offset_bottom = 720 | ||
21 | locations_overlay.offset_left = 20 | ||
22 | locations_overlay.anchor_right = 1.0 | ||
23 | locations_overlay.offset_right = -20 | ||
24 | locations_overlay.scroll_active = false | ||
25 | locations_overlay.mouse_filter = Control.MOUSE_FILTER_IGNORE | ||
26 | add_child(locations_overlay) | ||
27 | update_locations_visibility() | ||
28 | |||
15 | tabs = TabContainer.new() | 29 | tabs = TabContainer.new() |
16 | tabs.name = "Tabs" | 30 | tabs.name = "Tabs" |
17 | tabs.offset_left = 100 | 31 | tabs.offset_left = 100 |
@@ -123,6 +137,13 @@ func update_locations(): | |||
123 | tracker_label.push_font(preload("res://assets/fonts/Lingo2.ttf")) | 137 | tracker_label.push_font(preload("res://assets/fonts/Lingo2.ttf")) |
124 | tracker_label.push_font_size(24) | 138 | tracker_label.push_font_size(24) |
125 | 139 | ||
140 | locations_overlay.clear() | ||
141 | locations_overlay.push_font(preload("res://assets/fonts/Lingo2.ttf")) | ||
142 | locations_overlay.push_font_size(24) | ||
143 | locations_overlay.push_color(Color(0.9, 0.9, 0.9, 1)) | ||
144 | locations_overlay.push_outline_color(Color(0, 0, 0, 1)) | ||
145 | locations_overlay.push_outline_size(2) | ||
146 | |||
126 | var location_names = [] | 147 | var location_names = [] |
127 | for location_id in ap.client._accessible_locations: | 148 | for location_id in ap.client._accessible_locations: |
128 | if not ap.client._checked_locations.has(location_id): | 149 | if not ap.client._checked_locations.has(location_id): |
@@ -131,5 +152,21 @@ func update_locations(): | |||
131 | 152 | ||
132 | location_names.sort() | 153 | location_names.sort() |
133 | 154 | ||
155 | var count = 0 | ||
134 | for location_name in location_names: | 156 | for location_name in location_names: |
135 | tracker_label.append_text("[p]%s[/p]" % location_name) | 157 | tracker_label.append_text("[p]%s[/p]" % location_name) |
158 | if count < 18: | ||
159 | locations_overlay.append_text("[p align=right]%s[/p]" % location_name) | ||
160 | count += 1 | ||
161 | |||
162 | if count > 18: | ||
163 | locations_overlay.append_text("[p align=right][lb]...[rb][/p]") | ||
164 | |||
165 | |||
166 | func update_locations_visibility(): | ||
167 | var ap = global.get_node("Archipelago") | ||
168 | locations_overlay.visible = ap.show_locations | ||
169 | |||
170 | |||
171 | func reset(): | ||
172 | locations_overlay.clear() | ||