diff options
Diffstat (limited to 'apworld/client/saver.gd')
-rw-r--r-- | apworld/client/saver.gd | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/apworld/client/saver.gd b/apworld/client/saver.gd new file mode 100644 index 0000000..44bc179 --- /dev/null +++ b/apworld/client/saver.gd | |||
@@ -0,0 +1,23 @@ | |||
1 | extends "res://scripts/nodes/saver.gd" | ||
2 | |||
3 | |||
4 | func levelLoaded(): | ||
5 | if type == "keyholders": | ||
6 | var ap = global.get_node("Archipelago") | ||
7 | ap.keyboard.load_keyholders.call_deferred(global.map) | ||
8 | else: | ||
9 | reload.call_deferred() | ||
10 | |||
11 | |||
12 | func reload(): | ||
13 | # Just rewriting this whole thing so I can remove Chris's safeguard. | ||
14 | var file = FileAccess.open(path + type + ".save", FileAccess.READ) | ||
15 | if file: | ||
16 | var data = file.get_var(true) | ||
17 | file.close() | ||
18 | for datum in data: | ||
19 | var saveable = get_node_or_null(datum[0]) | ||
20 | if saveable != null: | ||
21 | saveable.is_complete = datum[1] | ||
22 | if saveable.is_complete: | ||
23 | saveable.loadData(saveable.is_complete) | ||