class_name LockProgressDot extends Control ## Indicatore di avanzamento della sequenza del lock. var dot_color := Color.TRANSPARENT func _init() -> void: custom_minimum_size = Vector2(38, 38) func set_color(color: Color) -> void: dot_color = color queue_redraw() func _draw() -> void: var center := size * 0.5 var radius := 12.0 draw_circle(center + Vector2(1.0, 2.0), radius + 2.0, Color(0.18, 0.07, 0.03, 0.32)) if dot_color.a > 0.01: draw_circle(center, radius, dot_color) draw_circle(center - Vector2(3.0, 3.0), 3.2, Color(1, 1, 1, 0.5)) draw_arc(center, radius, 0.0, TAU, 32, Color("#4b2818"), 3.0, true) else: draw_circle(center, radius, Color("#eee2cf")) draw_arc(center, radius, 0.0, TAU, 32, Color("#69401f"), 3.0, true)