class_name Hand extends PanelContainer signal building_selected(building: Building) const BUILDING_SELECTOR_SCENE = preload("uid://cpmlj6muvdwix") @onready var buildings_container: Container = %BuildingsContainer func give_buildings(buildings: Array[Building]) -> void: for child in buildings_container.get_children(): child.free() for building in buildings: var selector: BuildingSelector = BUILDING_SELECTOR_SCENE.instantiate() selector.select_building.connect(building_selected.emit) selector.call_deferred("add_child", building.duplicate()) buildings_container.call_deferred("add_child", selector) func _handle_building_selected(_building: Building) -> void: for child in buildings_container.get_children(): child.queue_free()