From 2c85d452ad02a5f89cd43bad7f9de31d0e4fa0c1 Mon Sep 17 00:00:00 2001 From: Radio Date: Mon, 1 Jun 2026 22:28:46 +0300 Subject: area transitions, basic inventory and use events --- scenes/item/item.gd | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 scenes/item/item.gd (limited to 'scenes/item/item.gd') 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: -- cgit v1.3