diff --git a/blocks/block.gd b/blocks/block.gd index 1823a59..b6c4c32 100644 --- a/blocks/block.gd +++ b/blocks/block.gd @@ -16,4 +16,5 @@ func take_damage(damage): die() func die(): + SignalBus.on_money_changed_difference.emit(1) self.queue_free() diff --git a/misc/ball_vendor.gd b/misc/ball_vendor.gd index 0b41284..c844023 100644 --- a/misc/ball_vendor.gd +++ b/misc/ball_vendor.gd @@ -17,6 +17,7 @@ signal on_update_ball_price(id: int, new_price: int) var money: int = 0 func _ready(): + SignalBus.on_money_changed_difference.connect(_update_money_difference) _update_money() for k in _catalogue: on_update_ball_price.emit(int(k), _catalogue[k]) @@ -32,5 +33,9 @@ func may_buy_ball(id: int) -> bool: else: return false +func _update_money_difference(difference): + money += difference + _update_money() + func _update_money(): SignalBus.on_money_changed.emit(money) diff --git a/misc/signal_bus.gd b/misc/signal_bus.gd index a3ea79f..2be6be7 100644 --- a/misc/signal_bus.gd +++ b/misc/signal_bus.gd @@ -2,3 +2,4 @@ extends Node signal on_try_buy_ball(id: int) signal on_money_changed(new_money: int) +signal on_money_changed_difference(difference: int)