Use a single currency changed signal

This commit is contained in:
Michele Rossi
2026-03-14 09:22:52 +01:00
parent 23d1a79a9a
commit 1322903637
4 changed files with 23 additions and 23 deletions

View File

@@ -4,8 +4,7 @@ extends Node
# ==========================================
# SIGNALS
# ==========================================
signal gold_changed(new_amount: BigNumber)
signal gems_changed(new_amount: BigNumber)
signal currency_changed(currency_type: CurrencyType, new_amount: BigNumber)
signal generator_state_changed(generator_id: StringName, state: Dictionary)
enum CurrencyType { gold, gems }
@@ -34,25 +33,25 @@ func _ready() -> void:
# ==========================================
func add_gold(amount: BigNumber) -> void:
gold.add_in_place(amount)
gold_changed.emit(gold)
currency_changed.emit(CurrencyType.gold, gold)
func spend_gold(cost: BigNumber) -> bool:
if gold.is_greater_than(cost) or gold.is_equal_to(cost):
var negative_cost = BigNumber.new(-cost.mantissa, cost.exponent)
gold.add_in_place(negative_cost)
gold_changed.emit(gold)
currency_changed.emit(CurrencyType.gold, gold)
return true
return false
func add_gems(amount: BigNumber) -> void:
gems.add_in_place(amount)
gems_changed.emit(gems)
currency_changed.emit(CurrencyType.gems, gems)
func spend_gems(cost: BigNumber) -> bool:
if gems.is_greater_than(cost) or gems.is_equal_to(cost):
var negative_cost = BigNumber.new(-cost.mantissa, cost.exponent)
gems.add_in_place(negative_cost)
gems_changed.emit(gems)
currency_changed.emit(CurrencyType.gems, gems)
return true
return false