Files
nodewars/Root.cs
2026-05-30 01:05:14 +02:00

43 lines
787 B
C#

using Godot;
using GodotUtilities;
namespace NodeWar;
[SceneTree]
public partial class Root : Node2D
{
private Nodule _a;
private Nodule _b;
public void ConnectNodules(Nodule a, Nodule b)
{
_a = a;
_b = b;
GlobalPosition = a.GlobalPosition;
GenerateLinePoints();
}
private void GenerateLinePoints()
{
var direction = _b.GlobalPosition - _a.GlobalPosition;
var sectionLength = direction.Length() / 5;
var points = new Vector2[5];
for (var i = 0; i < 5; i++)
{
var randomOffset = new Vector2(MathUtil.RNG.Randf(), MathUtil.RNG.Randf());
points[i] = i switch
{
0 => Vector2.Zero,
4 => direction,
_ => (direction.Normalized() + (randomOffset * 0.1f)).Normalized()
* sectionLength
* i,
};
}
_.Line2D.Points = points;
}
}