about summary refs log tree commit diff stats
path: root/apworld/client/textclient.gd
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client/textclient.gd')
-rw-r--r--apworld/client/textclient.gd37
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
7var tracker_label 7var tracker_label
8var is_open = false 8var is_open = false
9 9
10var locations_overlay
11
10 12
11func _ready(): 13func _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
166func update_locations_visibility():
167 var ap = global.get_node("Archipelago")
168 locations_overlay.visible = ap.show_locations
169
170
171func reset():
172 locations_overlay.clear()