From 452289b3b6247bb512b9353e0f2c6a9b7090be55 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 4 Nov 2025 14:56:04 -0500 Subject: Split map-specific initialization into separate files --- apworld/client/manager.gd | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'apworld/client/manager.gd') diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 830ebb8..8c981f9 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -30,6 +30,7 @@ var _held_letters = {} var _letters_setup = false var _already_connected = false var _ignored_locations = [] +var _map_scripts = {} const kSHUFFLE_LETTERS_VANILLA = 0 const kSHUFFLE_LETTERS_UNLOCKED = 1 @@ -701,3 +702,16 @@ func toggle_ignored_location(loc_id): client.removeIgnoredLocation(loc_id) else: client.addIgnoredLocation(loc_id) + + +func get_map_script(map_name): + if !_map_scripts.has(map_name): + var runtime = global.get_node("Runtime") + var script_path = "maps/%s.gd" % map_name + if runtime.path_exists(script_path): + var script = runtime.load_script(script_path) + _map_scripts[map_name] = script.new() + else: + _map_scripts[map_name] = null + + return _map_scripts[map_name] -- cgit 1.4.1