extends Sprite2D @export var powerOnCurve: Curve @export var shutDownCurve: Curve var time: float @export var duration: float @export var bubbleMask: Sprite2D var curve: Curve var animating: bool = false # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): if (not animating): return time += delta var alpha = curve.sample(clamp(time / duration, 0, 1)) modulate = Color(Color.WHITE, alpha) bubbleMask.modulate = Color(Color.WHITE, alpha) if (time >= duration): animating = false func shut_down(): time = 0 curve = shutDownCurve animating = true func power_on(): time = 0 curve = powerOnCurve animating = true func _on_lights_out(): shut_down() func _on_lights_in(): power_on()