You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
535 B
21 lines
535 B
class_name PlayerInventory |
|
extends Node2D |
|
|
|
@export var default_equipped: Node2D |
|
|
|
@onready var player: Player = get_parent() |
|
|
|
var equipped: Item: |
|
get: return equipped |
|
set(value): |
|
if value == equipped: return |
|
if value: assert(value.get_parent() == self, "item is not a child") |
|
if equipped: equipped.set_equipped(false) |
|
if value: value .set_equipped(true) |
|
equipped = value |
|
|
|
func _ready() -> void: |
|
equipped = default_equipped |
|
|
|
func get_items() -> Array[Item]: |
|
return Array(get_children(), TYPE_OBJECT, "Sprite2D", Item)
|
|
|