class_name Item extends Sprite2D signal equipped signal unequipped var is_equipped := false var cursor: Cursor: # TODO: Do this in a better way. get: return get_node("/root/Game/CursorLayer/Cursor") var player: Player: get: return get_node_or_null("../..") func set_equipped(value: bool) -> void: if value == is_equipped: return visible = value is_equipped = value if value: equipped.emit() else: unequipped.emit()