@tool class_name Interactable extends Area2D signal interacted(user: Node) func _init() -> void: collision_layer = 0b0100_0000 # Layer 7 (interactable) collision_mask = 0 input_pickable = false monitoring = false func interact(user: Node) -> void: interacted.emit(user)