17 lines
319 B
GDScript3
17 lines
319 B
GDScript3
|
|
extends Area2D
|
||
|
|
|
||
|
|
@export var oneshot = true
|
||
|
|
@export var cooldown = 10
|
||
|
|
var already_used = false
|
||
|
|
|
||
|
|
func _ready() -> void:
|
||
|
|
$Cooldown.wait_time = cooldown
|
||
|
|
|
||
|
|
signal interaction
|
||
|
|
|
||
|
|
func interact():
|
||
|
|
if not $Cooldown.time_left > 0 and not (oneshot and already_used):
|
||
|
|
already_used = true
|
||
|
|
$Cooldown.start()
|
||
|
|
interaction.emit()
|