extends PanelContainer signal filament_purchase_requested(filament_data: FilamentData) @export var filaments_array: Array[FilamentData] const SHOP_FILAMENTS_CARD = preload("uid://csq76iufxrb4y") func _ready() -> void: generate_filaments() filament_purchase_requested.connect(GameData._on_shop_filament_purchase_req) func generate_filaments() -> void: for filament in filaments_array: if PlayerData.level >= filament.level_req: var new_filament = SHOP_FILAMENTS_CARD.instantiate() %FilamentList.add_child(new_filament) new_filament.initialize_filament(filament) new_filament.buy_filament.connect(_on_buy_filament_pressed) func _on_buy_filament_pressed(bought_filament) -> void: filament_purchase_requested.emit(bought_filament)