class_name Interactive extends StaticBody3D
## Props the player can interact with.

signal activated
signal selected

@export var enabled := false
@export var label := ""
@export var verb := "use"

var _is_selected := false
var _selected_this_frame := false


func activate() -> void:
	if enabled:
		activated.emit()
	# TODO: bonk


func select() -> void:
	if not _is_selected:
		selected.emit()
	_is_selected = true
	_selected_this_frame = true


func _process(_delta: float) -> void:
	if not _selected_this_frame:
		_is_selected = false
	_selected_this_frame = false
