TowerGame/scripts/building_components/producer.gd

30 lines
673 B
GDScript3
Raw Permalink Normal View History

2025-04-21 20:49:29 +01:00
extends Node
class_name Producer
@export var output_period: float = 0.1
@export var max_outputs: int = 1
2025-04-23 11:56:29 +01:00
@export var consumers: Array[Consumer]
2025-04-21 20:49:29 +01:00
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