SummerDay/addons/summer_day/user_interface/canvas/rendering/interaction_hint.gd
2022-01-03 23:53:28 +01:00

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()