Randoloot/scripts/game/shield_research_effect.gd
2026-10-25 16:12:08 +01:00

21 lines
632 B
GDScript

extends Node2D
var radius := 120.0
var tint := Color("ffaa46")
var endpoint := Vector2.ZERO
var _age := 0.0
func _ready() -> void:
z_index = 26
func _process(delta: float) -> void:
_age += delta
if _age >= 0.5: queue_free()
else: queue_redraw()
func _draw() -> void:
var t := clampf(_age/0.5,0.0,1.0)
var color := Color(tint,1.0-t)
if endpoint != Vector2.ZERO:
draw_line(Vector2.ZERO,endpoint,Color(tint,(1.0-t)*0.2),9.0,true)
draw_line(Vector2.ZERO,endpoint,color,2.0,true)
else:
draw_arc(Vector2.ZERO,radius*t,0,TAU,64,color,3.0,true)
draw_arc(Vector2.ZERO,radius*t*0.8,0,TAU,64,Color(tint,(1.0-t)*0.35),5.0,true)