Files
project-thought-experiment/scripts/interaction_area.gd

20 lines
425 B
GDScript

extends Area3D
signal interacted
var player_entered: bool
@onready var interaction_label: CanvasLayer = $InteractionLabel
func _on_body_entered(body):
if body is Player:
player_entered = true
interaction_label.show()
func _on_body_exited(body):
if body is Player:
player_entered = false
interaction_label.hide()
func _input(event):
if player_entered && event.is_action_pressed("interact"):
interacted.emit()