26 lines
664 B
GDScript
26 lines
664 B
GDScript
extends Node2D
|
|
|
|
var shape_points: PackedVector2Array = PackedVector2Array()
|
|
|
|
|
|
func configure(shape_seed: int) -> void:
|
|
shape_points.clear()
|
|
var rng := RandomNumberGenerator.new()
|
|
rng.seed = shape_seed
|
|
for i in range(10):
|
|
var angle: float = (float(i) / 10.0) * TAU
|
|
var radius: float = rng.randf_range(70.0, 100.0)
|
|
shape_points.append(Vector2(cos(angle), sin(angle)) * radius)
|
|
queue_redraw()
|
|
|
|
|
|
func extractor_anchor() -> Vector2:
|
|
var anchor := Vector2(0.0, -100.0)
|
|
for point in shape_points:
|
|
if point.y < anchor.y:
|
|
anchor = point
|
|
return anchor
|
|
|
|
|
|
func _draw() -> void:
|
|
NeonDraw.draw_glowing_polygon(self, shape_points, Color(0.6, 0.55, 0.5), 1.0)
|