class_name Item extends Area2D enum ItemTypes { NONE, TALK, PICKUP, SCRIPT, USE, ANIM } enum UseTypes { TAKE_ITEM, FLAG, ANIM, CLEAR } # play a little animation, check for received item and: # take item # trigger flag -> global flag for a door unlock, etc # change sprite # instantiate an item (flag?) # clear item @export var item_type := ItemTypes.NONE @export var item_id := "" @export var text: Array[String] @export var item_script: Script @export var interact_anim := "" @export var uses: Array[UseTypes] @export var useable_item := "" @export var use_anim := "" static var used := false var mouse_in := false func _ready() -> void: if (item_type == ItemTypes.PICKUP and item_id in Inventory.inventory) or (item_type == ItemTypes.USE and used): queue_free() func _on_mouse_entered() -> void: mouse_in = true func _on_mouse_exited() -> void: mouse_in = false #func execute(uses) -> void: