21 lines
608 B
GDScript
21 lines
608 B
GDScript
extends Node2D
|
|
|
|
# 地图内可交互目标的轻量视觉标记,由 InteractionManager 提供世界坐标。
|
|
const RING_COLOR: Color = Color(1.0, 1.0, 1.0, 0.94)
|
|
const CORE_COLOR: Color = Color(1.0, 1.0, 1.0, 0.58)
|
|
const RING_RADIUS: float = 9.0
|
|
const RING_WIDTH: float = 2.0
|
|
|
|
var _points: Array[Vector2] = []
|
|
|
|
func set_points(points: Array[Vector2]) -> void:
|
|
if _points == points:
|
|
return
|
|
_points = points.duplicate()
|
|
queue_redraw()
|
|
|
|
func _draw() -> void:
|
|
for point: Vector2 in _points:
|
|
draw_arc(point, RING_RADIUS, 0.0, TAU, 24, RING_COLOR, RING_WIDTH, true)
|
|
draw_circle(point, 2.0, CORE_COLOR)
|