public class Roaming : Nucleus { public float avoidanceForce; public Neuroid avoidance; public Neuroid output; public const int BoundaryType = 1; public const int BoidType = 2; public Roaming(NeuroidNetwork neuroidNet, Perception perception, SwarmControl sc) : base(neuroidNet) { this.avoidanceForce = sc.avoidanceForce; avoidance = new(neuroidNet, "Avoidance") { inverse = true }; perception.SendPositions(avoidance); this.output = new(neuroidNet, "Roaming"); output.GetInputFrom(avoidance, -sc.avoidanceForce); } public override void AddReceiver(Neuroid receiver) { output.AddReceiver(receiver); } }