class_name CurrencyTile extends HBoxContainer @export var currency: GameState.CurrencyType @export var data: CurrencyGeneratorData @onready var _label: Label = $Label @onready var _currency_label: Label = $CurrencyValueLabel @onready var _debug_button: Button = $DebugIncomeButton func _ready() -> void: _label.text = data.name GameState.currency_changed.connect(_on_currency_changed) match currency: GameState.CurrencyType.gold: _on_currency_changed(currency, GameState.gold) GameState.CurrencyType.gems: _on_currency_changed(currency, GameState.gems) func _on_currency_changed(changed_currency: GameState.CurrencyType, amount: BigNumber) -> void: if changed_currency != currency: return _currency_label.text = amount.to_string_suffix(2) func _on_debug_income_button_pressed() -> void: GameState.add_gold(BigNumber.from_float(100))