Added ants nest

This commit is contained in:
Pascal Serrarens 2026-02-06 15:12:34 +01:00
parent 8eb1cbea1a
commit 7fffa6dbe5
2 changed files with 15 additions and 18 deletions

View File

@ -279,7 +279,7 @@ public class ClusterInspector : Editor {
if (drawnArrays.Contains(receiver.array))
continue;
drawnArrays.Add(receiver.array);
Nucleus receiverNucleus = receiver;
if (receiverNucleus == null)
continue;
@ -396,7 +396,12 @@ public class ClusterInspector : Editor {
else {
style.alignment = TextAnchor.UpperCenter;
Vector3 labelPos = position - Vector3.down * (size + 10f); // below disc along up axis
Handles.Label(labelPos, nucleus.name, style);
int colonPos = nucleus.name.IndexOf(":");
if (colonPos > 0) {
string baseName = nucleus.name[..colonPos];
Handles.Label(labelPos, baseName, style);
} else
Handles.Label(labelPos, nucleus.name, style);
}
if (nucleus is Cluster cluster) {
@ -428,17 +433,9 @@ public class ClusterInspector : Editor {
private void HandleMouseHover(Nucleus nucleus, Rect rect) {
GUIContent tooltip;
// if (nucleus is Nucleus n) {
// tooltip = new(
// $"{nucleus.name}" +
// //$"\nsynapse count {n.synapses.Count}" +
// $"\nValue: {length(nucleus.outputValue)}");
// }
// else {
tooltip = new(
$"{nucleus.name}" +
$"\nValue: {length(nucleus.outputValue)}");
// }
tooltip = new(
$"{nucleus.name}" +
$"\nValue: {length(nucleus.outputValue)}");
Vector2 mousePosition = Event.current.mousePosition;

View File

@ -66,20 +66,22 @@ public class NucleusArray {
public virtual void ProcessStimulus(int thingId, Vector3 inputValue, string thingName = null) {
CleanupReceivers();
if (!thingReceivers.TryGetValue(thingId, out Nucleus selectedReceiver)) {
Debug.Log($"No receiver found for {thingId}");
// Debug.Log($"No receiver found for {thingId}");
foreach (Nucleus receptor in this.nuclei) {
if (receptor is not Nucleus receiver)
continue;
if (thingReceivers.ContainsValue(receiver) == false) {
// receiver is not used yet
Debug.Log($"{thingId} -> {receiver.name}");
// Debug.Log($"{thingId} -> {receiver.name}");
thingReceivers.Add(thingId, receiver);
selectedReceiver = receiver;
break;
}
}
}
if (selectedReceiver == null)
return;
if (thingName != null) {
string baseName = selectedReceiver.name;
@ -99,8 +101,7 @@ public class NucleusArray {
List<int> receiversToRemove = new();
foreach (KeyValuePair<int, Nucleus> item in thingReceivers) {
if (item.Value.isSleeping) {
Nucleus n = item.Value as Nucleus;
Debug.Log($"{item.Value.name} is sleeping, stale = {n.stale}");
//Nucleus n = item.Value as Nucleus;
receiversToRemove.Add(item.Key);
}
}
@ -108,7 +109,6 @@ public class NucleusArray {
Nucleus selectedReceiver = thingReceivers[thingId];
thingReceivers.Remove(thingId);
Debug.Log($"Cleanup receiver for {thingId}");
int colonPos = selectedReceiver.name.IndexOf(":");
if (colonPos > 0)