3d-printing-simulator-textb.../Scenes/Shop/Printers/printer_card.gd

37 lines
1.5 KiB
GDScript

extends PanelContainer
signal buy_printer
var printer_data: PrinterData
@onready var printer_name: Label = $MarginContainer/VBoxContainer/PrinterInfo/PrinterName
@onready var printer_model: Label = $MarginContainer/VBoxContainer/PrinterInfo/PrinterModel
@onready var printer_speed: Label = $MarginContainer/VBoxContainer/PrinterStats/SpeedLabel
@onready var printer_quality: Label = $MarginContainer/VBoxContainer/PrinterStats/QualityLabel
@onready var printer_price: Label = $MarginContainer/VBoxContainer/HBoxContainer/Price
@onready var buy_button: Button = $MarginContainer/VBoxContainer/HBoxContainer/BuyButton
func _ready() -> void:
PlayerData.money_changed.connect(_on_toggle_button)
func initialize_printer(data: PrinterData) -> void:
printer_data = data
printer_name.text = printer_data.printer_manufacturer
printer_model.text = printer_data.printer_type
printer_speed.text = 'Speed: %d/5' % printer_data.printer_speed
printer_quality.text = 'Quality: %d/5' % printer_data.printer_quality
printer_price.text = 'Price: %d' % printer_data.printer_price
if PlayerData.money > printer_data.printer_price:
buy_button.disabled = false
else:
buy_button.disabled = true
func _on_buy_button_pressed() -> void:
buy_printer.emit(self)
print("Shop tab printer clicked: " + self.printer_data.printer_manufacturer)
func _on_toggle_button(money) -> void:
if PlayerData.money > printer_data.printer_price:
buy_button.disabled = false
else:
buy_button.disabled = true