about summary refs log tree commit diff stats
path: root/client/Archipelago/gamedata.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/Archipelago/gamedata.gd')
-rw-r--r--client/Archipelago/gamedata.gd19
1 files changed, 19 insertions, 0 deletions
diff --git a/client/Archipelago/gamedata.gd b/client/Archipelago/gamedata.gd index 41d966a..9eeec3b 100644 --- a/client/Archipelago/gamedata.gd +++ b/client/Archipelago/gamedata.gd
@@ -6,6 +6,7 @@ var objects
6var door_id_by_map_node_path = {} 6var door_id_by_map_node_path = {}
7var painting_id_by_map_node_path = {} 7var painting_id_by_map_node_path = {}
8var panel_id_by_map_node_path = {} 8var panel_id_by_map_node_path = {}
9var port_id_by_map_node_path = {}
9var door_id_by_ap_id = {} 10var door_id_by_ap_id = {}
10var map_id_by_name = {} 11var map_id_by_name = {}
11var progressive_id_by_ap_id = {} 12var progressive_id_by_ap_id = {}
@@ -79,6 +80,16 @@ func load(data_bytes):
79 80
80 var _map_data = painting_id_by_map_node_path[map.get_name()] 81 var _map_data = painting_id_by_map_node_path[map.get_name()]
81 82
83 for port in objects.get_ports():
84 var room = objects.get_rooms()[port.get_room_id()]
85 var map = objects.get_maps()[room.get_map_id()]
86
87 if not map.get_name() in port_id_by_map_node_path:
88 port_id_by_map_node_path[map.get_name()] = {}
89
90 var map_data = port_id_by_map_node_path[map.get_name()]
91 map_data[port.get_path()] = port.get_id()
92
82 for progressive in objects.get_progressives(): 93 for progressive in objects.get_progressives():
83 progressive_id_by_ap_id[progressive.get_ap_id()] = progressive.get_id() 94 progressive_id_by_ap_id[progressive.get_ap_id()] = progressive.get_id()
84 95
@@ -121,6 +132,14 @@ func get_panel_for_map_node_path(map_name, node_path):
121 return map_data.get(node_path, null) 132 return map_data.get(node_path, null)
122 133
123 134
135func get_port_for_map_node_path(map_name, node_path):
136 if not port_id_by_map_node_path.has(map_name):
137 return null
138
139 var map_data = port_id_by_map_node_path[map_name]
140 return map_data.get(node_path, null)
141
142
124func get_door_ap_id(door_id): 143func get_door_ap_id(door_id):
125 var door = objects.get_doors()[door_id] 144 var door = objects.get_doors()[door_id]
126 if door.has_ap_id(): 145 if door.has_ap_id():