class_name Interactable extends Node2D signal interacted var checked_teleport var telecam_speed_mult = 4 var enabled = true var cooldown = 2 var is_interactable = false func disable(): enabled = false $Sprite2D.modulate = Color.DARK_ORANGE func enable(): enabled = true $Sprite2D.modulate = Color.WHITE func _process(delta: float) -> void: if not (is_interactable and Input.is_action_just_released("interact")): return interacted.emit() func _physics_process(delta: float) -> void: pass func _on_approach(body) -> void: if body!=%Player2D: return is_interactable = true func _on_abandon(body) -> void: if body!=%Player2D: return is_interactable = false