Files
seeding-planets/gui/game/energy_info/scripts/energy_info.gd

33 lines
863 B
GDScript

@tool
extends HBoxContainer
class_name EnergyInfo
@export var wanted_energy = 0
@export var wanted_max_energy = 0
var energy := 0
var max_energy := 0
@export_tool_button("Update", "Callable") var update_action = func(): update(wanted_energy, wanted_max_energy)
func update(
_energy : int,
_max_energy : int,
with_animation := true,
):
var changed = (energy != _energy or max_energy != _max_energy)
if changed:
energy = _energy
max_energy = _max_energy
var energy_count_text = "[b]%d[/b] / %d" % [energy, max_energy]
if with_animation:
%EnergyAnimationPlayer.bounce()
%EnergyCount.text = energy_count_text
modulate = Color.WHITE if energy > 0 else Color.RED
func appear():
await %EnergyAnimationPlayer.appear()
func disappear():
await %EnergyAnimationPlayer.disappear()