extends PanelContainer signal buy_filament var filament_data: FilamentData @onready var filament_material: Label = %Material @onready var description: Label = %Description @onready var reward_multiplier: Label = %RewardMultiplier @onready var xp_multiplier: Label = %ExperienceMultiplier @onready var amount: Label = %Amount @onready var price_tag: Label = %PriceTag @onready var buy_button: Button = $Margin/Info/Price/BuyButton func _ready() -> void: PlayerData.money_changed.connect(_on_toggle_button) func initialize_filament(data: FilamentData) -> void: filament_data = data filament_material.text = filament_data.material description.text = filament_data.description reward_multiplier.text = 'Reward multiplier: x%.1f' % filament_data.reward_multiplier xp_multiplier.text = 'Experience multiplier: x%.1f' % filament_data.xp_multiplier amount.text = 'Amount: %.0f g' % filament_data.amount price_tag.text = 'Price: %.2f €' % filament_data.price func _on_buy_button_pressed() -> void: buy_filament.emit(self) func _on_toggle_button(money) -> void: if PlayerData.money >= filament_data.price: buy_button.disabled = false else: buy_button.disabled = true