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

29 lines
845 B
GDScript

@tool
extends MarginContainer
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()
%EnergyInfo3d.energy = energy
%EnergyInfo3d.max_energy = max_energy
%EnergyCount.text = energy_count_text
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED