Files
GameJamDungeon/addons/SimpleDungeons/sample_dungeons/flat_wide_dungeon/living_room.gd

24 lines
1.3 KiB
GDScript

@tool
extends DungeonRoom3D
# Called when the node enters the scene tree for the first time.
func _ready():
super._ready()
dungeon_done_generating.connect(remove_unused_doors_and_walls)
func remove_unused_doors_and_walls():
if get_door_by_node($"CSGBox3D/DOOR?_B_CUT").get_room_leads_to() == null: $Models/B_DOOR.queue_free(); $Models/B_WALL.visible = true
else: $Models/B_WALL.queue_free(); $Models/B_DOOR.visible = true
if get_door_by_node($"CSGBox3D/DOOR?_RB_CUT").get_room_leads_to() == null: $Models/RB_DOOR.queue_free(); $Models/RB_WALL.visible = true
else: $Models/RB_WALL.queue_free(); $Models/RB_DOOR.visible = true
if get_door_by_node($"CSGBox3D/DOOR?_RF_CUT").get_room_leads_to() == null: $Models/RF_DOOR.queue_free(); $Models/RF_WALL.visible = true
else: $Models/RF_WALL.queue_free(); $Models/RF_DOOR.visible = true
if get_door_by_node($"CSGBox3D/DOOR?_LB_CUT").get_room_leads_to() == null: $Models/LB_DOOR.queue_free(); $Models/LB_WALL.visible = true
else: $Models/LB_WALL.queue_free(); $Models/LB_DOOR.visible = true
if get_door_by_node($"CSGBox3D/DOOR?_LF_CUT").get_room_leads_to() == null: $Models/LF_DOOR.queue_free(); $Models/LF_WALL.visible = true
else: $Models/LF_WALL.queue_free(); $Models/LF_DOOR.visible = true
for door in get_doors():
if door.get_room_leads_to() == null:
door.door_node.queue_free()