diff options
| author | Radio <radiohotline@disroot.org> | 2026-06-01 22:28:46 +0300 |
|---|---|---|
| committer | Radio <radiohotline@disroot.org> | 2026-06-01 22:28:46 +0300 |
| commit | 2c85d452ad02a5f89cd43bad7f9de31d0e4fa0c1 (patch) | |
| tree | 758998f717dab8c0ed9d1b47419e7590c28e8fa2 /scenes/item/item.gd | |
| parent | 7f437327b25be23b1cdcd4aa3898d428421e533f (diff) | |
area transitions, basic inventory and use events
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: |
