draw external receivers only once

This commit is contained in:
Pascal Serrarens 2026-04-28 17:22:51 +02:00
parent ffcf420715
commit 36f876c0d8
2 changed files with 7 additions and 7 deletions

View File

@ -327,7 +327,7 @@ namespace NanoBrain {
if (nucleus is Neuron neuron) if (nucleus is Neuron neuron)
receivers = neuron.receivers; receivers = neuron.receivers;
else if (nucleus is Cluster cluster) else if (nucleus is Cluster cluster)
receivers = cluster.CollectReceivers(); receivers = cluster.CollectReceivers(true);
else else
return; return;
@ -357,7 +357,6 @@ namespace NanoBrain {
float margin = 10 + spacing / 2; float margin = 10 + spacing / 2;
int row = 0; int row = 0;
List<Nucleus[]> drawnArrays = new();
foreach (Nucleus receiver in receivers) { foreach (Nucleus receiver in receivers) {
Nucleus receiverNucleus = receiver; Nucleus receiverNucleus = receiver;
if (receiverNucleus == null) if (receiverNucleus == null)

View File

@ -716,7 +716,7 @@ namespace NanoBrain {
#region Receivers #region Receivers
public virtual List<Nucleus> CollectReceivers() { public virtual List<Nucleus> CollectReceivers(bool removeDuplicates = false) {
List<Nucleus> receivers = new(); List<Nucleus> receivers = new();
foreach (Nucleus outputNucleus in this.clusterNuclei) { foreach (Nucleus outputNucleus in this.clusterNuclei) {
if (outputNucleus is not Neuron output) if (outputNucleus is not Neuron output)
@ -727,8 +727,9 @@ namespace NanoBrain {
// Debug.Log($"output {receiver.name}"); // Debug.Log($"output {receiver.name}");
// Only add receivers outside this cluster // Only add receivers outside this cluster
if (receiver.clusterPrefab != this.prefab) { if (receiver.clusterPrefab != this.prefab) {
// Debug.Log($" YES"); if (removeDuplicates && receivers.Contains(receiver) == false)
receivers.Add(receiver); // Debug.Log($" YES");
receivers.Add(receiver);
} }
} }
} }