21 lines
653 B
GDScript
21 lines
653 B
GDScript
@tool
|
|
extends Node3D
|
|
class_name Battery3d
|
|
|
|
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
|
|
|
@export var powered: bool = true
|
|
|
|
func _ready():
|
|
set_powered()
|
|
|
|
func set_powered(_powered: bool = powered, with_animation: bool = true):
|
|
var old_powered = powered
|
|
powered = _powered
|
|
if is_node_ready() and old_powered != powered:
|
|
if with_animation:
|
|
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
|