extends Node class_name Counter signal changed(old: int, new: int) @export var starting_value: int var value: int func _ready(): value = starting_value func change(amount: int): var old = value value = amount changed.emit(old, value) func increase(amount: int = 1): if amount < 0: Log.w(self, "Increasing a counter by a negative value.") change(value + amount) func decrease(amount: int = 1): if amount < 0: Log.w(self, "Decreasing a counter by a negative value.") change(value - amount)