24 lines
693 B
C#
24 lines
693 B
C#
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);
|
|
}
|
|
} |