@tool extends Interactable class_name Door @export var to_scene_id = "" @export var icon : Texture : set = set_icon func _ready(): if available: %AnimatedSprite2D.play("opened") else: %AnimatedSprite2D.play("closed") set_icon() func interact(_p : Player) -> bool: if available and to_scene_id: interacted.emit(_p) SceneManager.change_to_scene_id(to_scene_id) return available func set_available(v : bool): available = v if is_node_ready(): if available: AudioManager.play_sfx("DoorOpen") %AnimatedSprite2D.play("open") else: %AnimatedSprite2D.play("close") func set_icon(i: Texture = icon): icon = i if is_node_ready(): %Icon.texture = icon