28 lines
755 B
GDScript
28 lines
755 B
GDScript
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)
|