30 lines
845 B
GDScript
30 lines
845 B
GDScript
|
|
extends PanelContainer
|
||
|
|
class_name ResourceTracker
|
||
|
|
|
||
|
|
@export var bar: ProgressBar
|
||
|
|
@export var name_label: Label
|
||
|
|
@export var value_label: Label
|
||
|
|
@export var changes: Label
|
||
|
|
|
||
|
|
@export var decreased_color: Color
|
||
|
|
@export var increased_color: Color
|
||
|
|
|
||
|
|
func set_increment(value: int):
|
||
|
|
changes.text = ("+ " + str(value)) if value > 0 \
|
||
|
|
else ("- " + str(abs(value))) if value < 0 \
|
||
|
|
else ("--")
|
||
|
|
var color = increased_color if value > 0 \
|
||
|
|
else decreased_color if value < 0 \
|
||
|
|
else Color.WHITE
|
||
|
|
if changes.label_settings == null: changes.label_settings = LabelSettings.new()
|
||
|
|
changes.label_settings.font_color = color
|
||
|
|
|
||
|
|
func set_resource_name(name: String):
|
||
|
|
name_label.text = name
|
||
|
|
|
||
|
|
func set_val_and_max(value: int, max: int):
|
||
|
|
value_label.text = str(value) + " / " + str(max)
|
||
|
|
bar.min_value = 0
|
||
|
|
bar.max_value = max if max != 0 else 1
|
||
|
|
bar.value = value
|