Animation des cellules entre les jours corrigées
This commit is contained in:
@@ -4,14 +4,17 @@ class_name Battery3d
|
|||||||
|
|
||||||
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
||||||
|
|
||||||
@export var powered : bool = true : set = set_powered
|
@export var powered: bool = true
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_powered()
|
set_powered()
|
||||||
|
|
||||||
func set_powered(_powered : bool = powered):
|
func set_powered(_powered: bool = powered, with_animation: bool = true):
|
||||||
var old_powered = powered
|
var old_powered = powered
|
||||||
powered = _powered
|
powered = _powered
|
||||||
if is_node_ready() and old_powered != powered:
|
if is_node_ready() and old_powered != powered:
|
||||||
var tween : Tween = get_tree().create_tween()
|
if with_animation:
|
||||||
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)
|
var tween: Tween = get_tree().create_tween()
|
||||||
|
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)
|
||||||
|
else:
|
||||||
|
%NonPoweredBatteryGauge.scale.y = 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ var max_energy := 0
|
|||||||
func update(
|
func update(
|
||||||
_energy : int,
|
_energy : int,
|
||||||
_max_energy : int,
|
_max_energy : int,
|
||||||
_with_animation := true,
|
with_animation := true,
|
||||||
):
|
):
|
||||||
var changed = (energy != _energy or max_energy != _max_energy)
|
var changed = (energy != _energy or max_energy != _max_energy)
|
||||||
if changed:
|
if changed:
|
||||||
@@ -23,7 +23,7 @@ func update(
|
|||||||
|
|
||||||
# if with_animation:
|
# if with_animation:
|
||||||
# %EnergyAnimationPlayer.bounce()
|
# %EnergyAnimationPlayer.bounce()
|
||||||
%EnergyInfo3d.energy = energy
|
%EnergyInfo3d.set_energy(energy, with_animation)
|
||||||
%EnergyInfo3d.max_energy = max_energy
|
%EnergyInfo3d.max_energy = max_energy
|
||||||
%EnergyCount.text = energy_count_text
|
%EnergyCount.text = energy_count_text
|
||||||
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED
|
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED
|
||||||
@@ -2,15 +2,15 @@
|
|||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
|
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
|
||||||
const BATTERY_SHIFT = Vector3(0,0,-1)
|
const BATTERY_SHIFT = Vector3(0, 0, -1)
|
||||||
|
|
||||||
@export var max_energy : int = 0 : set = set_max_energy
|
@export var max_energy: int = 0: set = set_max_energy
|
||||||
@export var energy : int = 0 : set = set_energy
|
@export var energy: int = 0
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_max_energy()
|
set_max_energy()
|
||||||
|
|
||||||
func set_max_energy(_max_energy : int = max_energy):
|
func set_max_energy(_max_energy: int = max_energy):
|
||||||
max_energy = _max_energy
|
max_energy = _max_energy
|
||||||
if is_node_ready() and max_energy != len(%Batteries.get_children()):
|
if is_node_ready() and max_energy != len(%Batteries.get_children()):
|
||||||
for c in %Batteries.get_children():
|
for c in %Batteries.get_children():
|
||||||
@@ -24,7 +24,7 @@ func set_max_energy(_max_energy : int = max_energy):
|
|||||||
await get_tree().create_timer(0.1).timeout
|
await get_tree().create_timer(0.1).timeout
|
||||||
set_energy()
|
set_energy()
|
||||||
|
|
||||||
func set_energy(_energy : int = energy):
|
func set_energy(_energy: int = energy, with_animation: bool = true):
|
||||||
energy = _energy
|
energy = _energy
|
||||||
if is_node_ready():
|
if is_node_ready():
|
||||||
var energy_count = 0
|
var energy_count = 0
|
||||||
@@ -32,5 +32,5 @@ func set_energy(_energy : int = energy):
|
|||||||
if not battery.is_node_ready():
|
if not battery.is_node_ready():
|
||||||
await battery.ready
|
await battery.ready
|
||||||
if battery is Battery3d:
|
if battery is Battery3d:
|
||||||
battery.powered = energy_count < energy
|
battery.set_powered(energy_count < energy, with_animation)
|
||||||
energy_count += 1
|
energy_count += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user