31 lines
659 B
GDScript
31 lines
659 B
GDScript
class_name ItemOnGround extends StaticBody3D
|
|
|
|
enum Type {
|
|
SPAWNS_WITH_MAP,
|
|
AQUIRED_ONCE
|
|
}
|
|
|
|
@export var itemType:Item.Type = Item.Type.POTION;
|
|
@export var quantity:int = 1;
|
|
|
|
func _ready() -> void:
|
|
$Entity/EntityInteractable.onInteract.connect(
|
|
self.onEntityInteract
|
|
)
|
|
|
|
func _exit_tree() -> void:
|
|
$Entity/EntityInteractable.onInteract.disconnect(
|
|
self.onEntityInteract
|
|
)
|
|
|
|
func onEntityInteract(
|
|
interactor:EntityInteractor,
|
|
interactee:EntityInteractable
|
|
) -> void:
|
|
var event = EventGetItem.new()
|
|
event.itemType = itemType;
|
|
event.quantity = quantity;
|
|
event.removeNode = self
|
|
EVENT.addEvent(event)
|
|
event.onEntityInteract(interactor, interactee)
|