@icon("res://behaviours/counter.svg") extends Node class_name Counter ## Counts up or down from a starting value. signal changed(old: int, new: int) @export var starting_value: int var value: int = 0 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) func _ready(): value = starting_value