generated from krampus/template-godot4
23 lines
753 B
GDScript3
23 lines
753 B
GDScript3
|
|
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()
|