ajout d'une animation de recharge et réparation du crash au chargement de chunk
This commit is contained in:
37
gui/game/energy_info/scripts/energy_info.gd
Normal file
37
gui/game/energy_info/scripts/energy_info.gd
Normal file
@@ -0,0 +1,37 @@
|
||||
@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 _ready():
|
||||
%EnergyAnimationPlayer.disappear()
|
||||
|
||||
func update(
|
||||
_energy : int,
|
||||
_max_energy : int,
|
||||
with_animation := true,
|
||||
):
|
||||
var changed = (energy != _energy or max_energy != _max_energy)
|
||||
if changed:
|
||||
print("Energy change with %d/%d" % [_energy, _max_energy])
|
||||
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()
|
||||
Reference in New Issue
Block a user