HighPolyAntPasser, improved leg detection

This commit is contained in:
Pascal Serrarens 2026-05-28 17:56:18 +02:00
parent 6bc6f19637
commit 7032a2229c

View File

@ -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 ??= "";