diff --git a/Editor/ClusterView.cs b/Editor/ClusterView.cs index beaef17..de89916 100644 --- a/Editor/ClusterView.cs +++ b/Editor/ClusterView.cs @@ -233,7 +233,7 @@ namespace NanoBrain.Unity { Dag.Node to = dag.nodes.FirstOrDefault(x => x.id == e.toId); if (from == null || to == null) continue; - + Vector2 fromPosition = from.position; Vector2 toPosition = to.position; DrawEdge(fromPosition, toPosition); @@ -316,6 +316,7 @@ namespace NanoBrain.Unity { foreach (Synapse synapse in receiverNeuron.synapses) { Nucleus nucleus = synapse.neuron; if (nucleus.parent != null && currentNucleus != null && nucleus.parent != currentNucleus.parent) { + // if (nucleus.parent != null && nucleus.parent != currentCluster) { nucleus = nucleus.parent; } string nucleusName = nucleus.name; @@ -507,11 +508,11 @@ namespace NanoBrain.Unity { } Vector3 labelPos = position - Vector3.down * (discRadius + 5); // below neuron string name = $"{nucleus.parent.instances[0].baseName}\n{nucleus.name}"; - GUIStyle style = new(EditorStyles.label) { - alignment = TextAnchor.UpperCenter, - normal = { textColor = Color.white }, - fontStyle = FontStyle.Bold, - }; + GUIStyle style = new(EditorStyles.label) { + alignment = TextAnchor.UpperCenter, + normal = { textColor = Color.white }, + fontStyle = FontStyle.Bold, + }; Handles.Label(labelPos, name, style); expandArray = false; } @@ -624,14 +625,27 @@ namespace NanoBrain.Unity { if (nucleus.parent != null && this.currentNucleus != null && nucleus.parent != this.currentNucleus.parent && nucleus.parent is Cluster parentCluster1) { // This neuron is part of another cluster - parentCluster1.name ??= ""; - int colonPos = parentCluster1.name.IndexOf(":"); - string baseName; - if (colonPos > 0 && colonPos < parentCluster1.name.Length - 2) - baseName = parentCluster1.name[..colonPos] + "\n"; - else - baseName = parentCluster1.name + "\n"; - Handles.Label(labelPos, baseName + nucleus.name, style); + if (nucleus is Cluster cluster) { + string clusterName = cluster.prefab.name; + + int colonPos = clusterName.IndexOf(":"); + string baseName; + if (colonPos > 0 && colonPos < clusterName.Length - 2) + baseName = clusterName[..colonPos] + "\n"; + else + baseName = clusterName + "\n"; + Handles.Label(labelPos, baseName + nucleus.name, style); + } + else { + parentCluster1.name ??= ""; + int colonPos = parentCluster1.name.IndexOf(":"); + string baseName; + if (colonPos > 0 && colonPos < parentCluster1.name.Length - 2) + baseName = parentCluster1.name[..colonPos] + "\n"; + else + baseName = parentCluster1.name + "\n"; + Handles.Label(labelPos, baseName + nucleus.name, style); + } } else { nucleus.name ??= "";