extends Node
class_name Producer

@export var output_period: float = 0.1
@export var max_outputs: int = 1

var consumers: Array[Consumer]
var next_consumer_idx: int = 0
#var output_timer: float = 0.0
#var output_item: Item

#func _process(delta: float) -> void:
	#output_timer += delta
	#if output_timer >= output_period:
		#output_timer -= output_period
		#output()
		
func send_item(item: Item) -> bool:
	if consumers.is_empty():
		return false
	next_consumer_idx += 1
	if next_consumer_idx >= consumers.size():
		next_consumer_idx = 0
	
	var consumer: Consumer = consumers[next_consumer_idx]
	var accepted: bool = consumer.offer_item(item)
	return accepted