3d-printing-simulator-textb.../Scenes/Shop/Filaments/shop_filament_card.gd

34 lines
1.2 KiB
GDScript

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