31 lines
942 B
C#
31 lines
942 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
public class NanoBrain : MonoBehaviour {
|
|
public ClusterPrefab defaultBrain;
|
|
|
|
[NonSerialized]
|
|
private Cluster brainInstance;
|
|
public Cluster brain {
|
|
get {
|
|
if (brainInstance == null && defaultBrain != null) {
|
|
brainInstance = new Cluster(defaultBrain) {
|
|
name = defaultBrain.name + " (Instance)"
|
|
};
|
|
}
|
|
return brainInstance;
|
|
}
|
|
}
|
|
|
|
public static void UpdateWeight(Cluster brain, string name, float weight) {
|
|
Nucleus root = brain.defaultOutput;
|
|
foreach (Synapse synapse in root.synapses) {
|
|
if (synapse.nucleus.name == name) {
|
|
if (synapse.weight != weight) {
|
|
synapse.weight = weight;
|
|
// Debug.Log($"Updated weight for {name}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |