27 lines
856 B
GDScript
27 lines
856 B
GDScript
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))
|