summaryrefslogtreecommitdiff
path: root/scenes/item/item.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/item/item.gd')
-rw-r--r--scenes/item/item.gd42
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: