diff options
Diffstat (limited to 'scenes/item/item.gd')
| -rw-r--r-- | scenes/item/item.gd | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/scenes/item/item.gd b/scenes/item/item.gd new file mode 100644 index 0000000..dc37a40 --- /dev/null +++ b/scenes/item/item.gd @@ -0,0 +1,42 @@ +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: |
