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