34 lines
689 B
GDScript
34 lines
689 B
GDScript
class_name BlinkChargeIndicator
|
|
extends Node2D
|
|
|
|
|
|
var maximum: float = 0:
|
|
set = _set_maximum
|
|
|
|
var value: float = 0:
|
|
set = _set_value
|
|
|
|
|
|
@onready var progress_bar : TextureProgressBar = $ProgressBar
|
|
@onready var charged_sprite : Sprite2D = $ChargedSprite
|
|
|
|
|
|
func _set_maximum(new_value: float) -> void:
|
|
maximum = new_value
|
|
value = clampf(value, 0, maximum)
|
|
progress_bar.max_value = maximum
|
|
_update_charged_sprite()
|
|
|
|
|
|
func _set_value(new_value: float) -> void:
|
|
value = clampf(new_value, 0, maximum)
|
|
progress_bar.value = value
|
|
_update_charged_sprite()
|
|
|
|
|
|
func _update_charged_sprite() -> void:
|
|
if is_equal_approx(value, maximum):
|
|
charged_sprite.show()
|
|
else:
|
|
charged_sprite.hide()
|