summaryrefslogtreecommitdiffstats
path: root/door.gd
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-21 11:19:36 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-21 11:19:36 +0200
commit1da8f71905ba3eadb9eb711ce2f0d48af5417d13 (patch)
tree376a9c2b941c36e91de47240a224c073cfde210f /door.gd
parentfc6cd0cdd704711a216026e2a967212ee7e6e744 (diff)
Improve warnings
Diffstat (limited to 'door.gd')
-rw-r--r--door.gd21
1 files changed, 17 insertions, 4 deletions
diff --git a/door.gd b/door.gd
index d8c21f8..7102497 100644
--- a/door.gd
+++ b/door.gd
@@ -28,11 +28,24 @@ func _get_configuration_warnings() -> PackedStringArray:
var room_path: String
if target_room:
room_path = to_room_path(target_room)
- if not target_room or not ResourceLoader.exists(room_path):
- warnings.append("target_room is not valid (%s does not exist)" % room_path)
+ if not target_room:
+ warnings.append("target_room is not defined")
+ elif not ResourceLoader.exists(room_path):
+ warnings.append("target_room \"%s\" does not exist" % room_path)
+
if not target_door:
- warnings.append("target_door is not valid")
-
+ warnings.append("target_door is not defined")
+ elif target_room:
+ var packed: PackedScene = ResourceLoader.load(room_path)
+ var state = packed.get_state()
+ var found = false
+ for idx in range(state.get_node_count()):
+ if state.get_node_name(idx) == target_door:
+ found = true
+ break
+ if not found:
+ warnings.append("target_door \"%s\" does not exist in the target room" % target_door)
+
return warnings
func to_room_path(room_name: String):