22 lines
751 B
GDScript
22 lines
751 B
GDScript
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)
|