28 lines
651 B
GDScript
28 lines
651 B
GDScript
class_name ItemOnGround extends StaticBody3D
|
|
|
|
@export var interactEvent:Event = null
|
|
|
|
func _ready() -> void:
|
|
$Entity/EntityInteractable.onInteract.connect(
|
|
self.onEntityInteract
|
|
)
|
|
|
|
func _exit_tree() -> void:
|
|
$Entity/EntityInteractable.onInteract.disconnect(
|
|
self.onEntityInteract
|
|
)
|
|
|
|
func selfDispose() -> void:
|
|
get_parent().remove_child(self)
|
|
self.queue_free()
|
|
|
|
func onEntityInteract(
|
|
interactor:EntityInteractor,
|
|
interactee:EntityInteractable
|
|
) -> void:
|
|
if interactEvent == null || (interactEvent.started && !interactEvent.isDone()):
|
|
return
|
|
|
|
interactEvent.onEntityInteract(interactor, $Entity/EntityInteractable)
|
|
self.selfDispose()
|