extends Building

@export var ingredients: Dictionary[Item, int] = {}
@export var process_time: float = 1.0
#@export var created_item: Item

var process_timer: float = 0.0
var processing: bool = false

func _process(delta: float) -> void:
	super(delta)
	if is_functional() and producer.can_produce():
		if !processing:
			processing = consume_ingredients()
		if processing:
			process_timer += delta
			if process_timer >= process_time:
				process_timer -= process_time
				produce_item()
				processing = false
			
func consume_ingredients() -> bool:
	return consumer.take_items_from_storage(ingredients)

func produce_item() -> void:
	producer.produce()