Files
project-thor/Scripts/objects/shelf_object.gd
Nikolai Fesenko e32a58f416 update
2025-08-21 19:32:40 +02:00

54 lines
1.1 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
build_name = "shelf"
func _ready() -> void:
self.owner = $".."
#object_placed.connect(_on_object_placed.bind(self))
func start_action(person, object):
if person.target_action == "take" or person.target_action == "eat":
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))