Files
project-thor/Scripts/objects/shelf_object.gd
2025-08-20 13:38:48 +02:00

53 lines
1.0 KiB
GDScript

extends Interactable
var test: bool = false
@export var items_pos_master: Node
var item_poses: Array
func _init() -> void:
max_person_using = 1
can_store = true
func _ready() -> void:
self.owner = $".."
#object_placed.connect(_on_object_placed.bind(self))
func start_action(person, object):
if person.target_action == "take":
give_out(person)
func give_out(person):
var pose = get_item_pose(person.target_item)
pose.remove_item()
person.hold_item(person.target_item)
stored_items.erase(person.target_item)
func add_item(item):
stored_items.append(item)
for pose in item_poses:
if pose.is_free:
print(pose)
pose.add_item(item)
break
func get_item_pose(item):
for pose in item_poses:
if pose.item == item:
return pose
return null
func create():
for pose in items_pos_master.get_children():
item_poses.append(pose)
ItemManager.add_shelf(self)
ItemManager.add_item_to_shelf(self, ItemManager.create_item(0))
ItemManager.add_item_to_shelf(self, ItemManager.create_item(0))