Files
Dawn-Godot/scripts/entities/player/PlayerInteraction.gd
2025-07-01 11:45:48 -05:00

31 lines
603 B
GDScript

class_name PlayerInteraction extends Node
@export var interactableArea:Area3D
@export var player:CharacterBody3D
func canInteract() -> bool:
if PAUSE.isMovementPaused():
return false
return true
func _process(delta: float) -> void:
if !canInteract():
return
if !Input.is_action_just_pressed("interact"):
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)