diff options
Diffstat (limited to 'client/Archipelago/keyHolder.gd')
-rw-r--r-- | client/Archipelago/keyHolder.gd | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/client/Archipelago/keyHolder.gd b/client/Archipelago/keyHolder.gd new file mode 100644 index 0000000..3c037ff --- /dev/null +++ b/client/Archipelago/keyHolder.gd | |||
@@ -0,0 +1,38 @@ | |||
1 | extends "res://scripts/nodes/keyHolder.gd" | ||
2 | |||
3 | |||
4 | func setFromAp(key, level): | ||
5 | if level > 0: | ||
6 | has_key = true | ||
7 | is_complete = "%s%d" % [key, level] | ||
8 | held_key = key | ||
9 | held_level = level | ||
10 | get_node("Hinge/Letter").mesh.text = held_key | ||
11 | get_node("Hinge/Letter2").mesh.text = held_key | ||
12 | setMaterial() | ||
13 | emit_signal("trigger") | ||
14 | else: | ||
15 | has_key = false | ||
16 | held_key = "" | ||
17 | held_level = 0 | ||
18 | setMaterial() | ||
19 | get_node("Hinge/Letter").mesh.text = "-" | ||
20 | get_node("Hinge/Letter2").mesh.text = "-" | ||
21 | is_complete = "" | ||
22 | emit_signal("untrigger") | ||
23 | |||
24 | |||
25 | func addKey(key): | ||
26 | var node_path = String( | ||
27 | get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names() | ||
28 | ) | ||
29 | var ap = global.get_node("Archipelago") | ||
30 | ap.keyboard.put_in_keyholder(key, global.map, node_path) | ||
31 | |||
32 | |||
33 | func removeKey(): | ||
34 | var node_path = String( | ||
35 | get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names() | ||
36 | ) | ||
37 | var ap = global.get_node("Archipelago") | ||
38 | ap.keyboard.remove_from_keyholder(held_key, global.map, node_path) | ||