class_name PlayerInteraction extends Node @export var interactableArea:Area3D @export var player:CharacterBody3D func canInteract() -> bool: if PAUSE.isMovementPaused(): return false return true func interact() -> void: if !canInteract(): return var overlapping = interactableArea.get_overlapping_areas() var interactable: InteractableArea = null for node in overlapping: if !(node is InteractableArea): continue interactable = node break if !interactable: return interactable.interactEvent.emit(player)