35 lines
703 B
GDScript
35 lines
703 B
GDScript
tool
|
|
extends ImmediateGeometry
|
|
class_name SummerDayInteractionHint
|
|
|
|
|
|
var canvas_state: SummerDayCanvasState # Provided through Canvas.
|
|
|
|
|
|
func draw_dot(position: Vector3, color: Color):
|
|
var radius = 0.0085
|
|
var vertex_count = 6.0
|
|
|
|
begin(Mesh.PRIMITIVE_TRIANGLE_FAN)
|
|
set_color(color)
|
|
for i in range(vertex_count):
|
|
var weight = i / vertex_count
|
|
var offset = Vector3(
|
|
sin(weight * TAU) * radius,
|
|
cos(weight * TAU) * radius,
|
|
0.0
|
|
)
|
|
add_vertex(position + offset)
|
|
end()
|
|
|
|
|
|
func draw_line(position_1: Vector3, position_2: Vector3,
|
|
color_1: Color, color_2: Color
|
|
):
|
|
begin(Mesh.PRIMITIVE_LINES)
|
|
set_color(color_1)
|
|
add_vertex(position_1)
|
|
set_color(color_2)
|
|
add_vertex(position_2)
|
|
end()
|