diff --git a/Assets/NanoBrain/INucleus.cs b/Assets/NanoBrain/INucleus.cs index 0dde236..8cc75de 100644 --- a/Assets/NanoBrain/INucleus.cs +++ b/Assets/NanoBrain/INucleus.cs @@ -11,7 +11,6 @@ public interface INucleus : IReceptor { // Senders public List synapses { get; } public Synapse AddSynapse(IReceptor sender, string nucleusName = null); - // public Synapse AddClusterSynapse(Cluster clusterSender); public NucleusArray array { get; set; } @@ -34,11 +33,8 @@ public interface IReceptor { // Receivers public List receivers { get; set; } - // public List clusterReceivers { get; set; } - // public IEnumerable allReceivers { get; } public void AddReceiver(INucleus receiver); - // public void AddClusterReceiver(Cluster clusterReceiver); public void RemoveReceiver(INucleus receiverNucleus); #endregion static diff --git a/Assets/NanoBrain/Identity.asset b/Assets/NanoBrain/Identity.asset index ea38020..94ece11 100644 --- a/Assets/NanoBrain/Identity.asset +++ b/Assets/NanoBrain/Identity.asset @@ -15,15 +15,22 @@ MonoBehaviour: asset: {fileID: 0} nuclei: - rid: 2243601242842202241 - subClusters: [] references: version: 2 RefIds: + - rid: -2 + type: {class: , ns: , asm: } - rid: 2243601242842202241 type: {class: Neuron, ns: , asm: Assembly-CSharp} data: _name: Output - _synapses: [] + _synapses: + - basicNucleus: + rid: 2243601249170358348 + cluster: + rid: -2 + weight: 1 + curveMax: 1 _receivers: [] _array: rid: 2243601242842202242 @@ -60,3 +67,98 @@ MonoBehaviour: _nuclei: - rid: 2243601242842202241 name: Output + - rid: 2243601249170358348 + type: {class: Neuron, ns: , asm: Assembly-CSharp} + data: + _name: New neuron + _synapses: [] + _receivers: + - rid: 2243601249170358349 + _array: + rid: 2243601249170358350 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1000 + value: 1000 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + - rid: 2243601249170358349 + type: {class: ClusterInstance, ns: , asm: Assembly-CSharp} + data: + asset: {fileID: 11400000} + _receivers: + - rid: 2243601249170358351 + - rid: 2243601249170358350 + type: {class: NucleusArray, ns: , asm: Assembly-CSharp} + data: + _nuclei: + - rid: 2243601249170358348 + name: New neuron + - rid: 2243601249170358351 + type: {class: Neuron, ns: , asm: Assembly-CSharp} + data: + _name: Output + _synapses: + - basicNucleus: + rid: 2243601249170358349 + cluster: + rid: -2 + weight: 1 + curveMax: 1 + _receivers: [] + _array: + rid: 2243601249170358352 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1000 + value: 1000 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + - rid: 2243601249170358352 + type: {class: NucleusArray, ns: , asm: Assembly-CSharp} + data: + _nuclei: + - rid: 2243601249170358351 + name: Output diff --git a/Assets/NanoBrain/Neuron.cs b/Assets/NanoBrain/Neuron.cs index b6e6a87..f288d7f 100644 --- a/Assets/NanoBrain/Neuron.cs +++ b/Assets/NanoBrain/Neuron.cs @@ -25,21 +25,6 @@ public class Neuron : INucleus { get { return _receivers; } set { _receivers = value; } } - // private List _clusterReceivers = new(); - // public List clusterReceivers { - // get { return _clusterReceivers; } - // set { _clusterReceivers = value; } - // } - // public IEnumerable allReceivers { //=> _receivers.Concat(_clusterReceivers); - // get { - // if (_receivers == null) - // return _clusterReceivers; - // else if (_clusterReceivers == null) - // return _receivers; - // else - // return _receivers.Concat(_clusterReceivers); - // } - // } [SerializeReference] private NucleusArray _array; @@ -162,10 +147,6 @@ public class Neuron : INucleus { this._receivers.Add(receivingNucleus); receivingNucleus.AddSynapse(this); } - // public void AddClusterReceiver(Cluster receivingCluster) { - // this._clusterReceivers.Add(receivingCluster); - // receivingCluster.AddSynapse(this); - // } public void RemoveReceiver(INucleus receiverNucleus) { this._receivers.RemoveAll(receiver => receiver == receiverNucleus); @@ -201,11 +182,6 @@ public class Neuron : INucleus { this.synapses.Add(synapse); return synapse; } - // public Synapse AddClusterSynapse(Cluster sendingCluster) { - // Synapse synapse = new(sendingCluster); - // this.synapses.Add(synapse); - // return synapse; - // } public virtual void UpdateState() { float3 sum = new(0, 0, 0); @@ -213,7 +189,7 @@ public class Neuron : INucleus { //Applying the weight factgors foreach (Synapse synapse in this.synapses) { - sum = sum + (synapse.weight * synapse.nucleus.outputValue); + sum += synapse.weight * synapse.nucleus.outputValue; if (lengthsq(synapse.nucleus.outputValue) != 0) n++; } diff --git a/Assets/NanoBrain/Receptor.cs b/Assets/NanoBrain/Receptor.cs index c9233c5..a743974 100644 --- a/Assets/NanoBrain/Receptor.cs +++ b/Assets/NanoBrain/Receptor.cs @@ -30,12 +30,6 @@ public class Receptor : IReceptor { get { return _receivers; } set { _receivers = value; } } - // private List _clusterReceivers = new(); - // public List clusterReceivers { - // get { return _clusterReceivers; } - // set { _clusterReceivers = value; } - // } - // public IEnumerable allReceivers => _receivers.Concat(_clusterReceivers); protected int[] thingIds; // every receiver can handle a thing with this id @@ -43,10 +37,6 @@ public class Receptor : IReceptor { this._receivers.Add(receivingNucleus); receivingNucleus.AddSynapse(this); } - // public void AddClusterReceiver(Cluster receivingCluster) { - // this._clusterReceivers.Add(receivingCluster); - // receivingCluster.AddSynapse(this); - // } public void RemoveReceiver(INucleus receiverNucleus) { this._receivers.RemoveAll(receiver => receiver == receiverNucleus); @@ -117,9 +107,6 @@ public class Receptor : IReceptor { INucleus selectedReceiver = null; int selectedReceiverIx = 0; foreach (INucleus receiver in this.receivers) { - // selectedReceiver = receiver; - // receiverIx++; - if (thingIds[receiverIx] == thingId) { // We found an existing receiver for this thing selectedReceiver = receiver;