This commit is contained in:
Pascal Serrarens 2026-01-26 20:02:07 +01:00
parent f0da7c9c9b
commit c1e6df8df3
4 changed files with 105 additions and 44 deletions

View File

@ -11,7 +11,6 @@ public interface INucleus : IReceptor {
// Senders
public List<Synapse> 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<INucleus> receivers { get; set; }
// public List<Cluster> clusterReceivers { get; set; }
// public IEnumerable<INucleus> allReceivers { get; }
public void AddReceiver(INucleus receiver);
// public void AddClusterReceiver(Cluster clusterReceiver);
public void RemoveReceiver(INucleus receiverNucleus);
#endregion static

View File

@ -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

View File

@ -25,21 +25,6 @@ public class Neuron : INucleus {
get { return _receivers; }
set { _receivers = value; }
}
// private List<Cluster> _clusterReceivers = new();
// public List<Cluster> clusterReceivers {
// get { return _clusterReceivers; }
// set { _clusterReceivers = value; }
// }
// public IEnumerable<INucleus> 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++;
}

View File

@ -30,12 +30,6 @@ public class Receptor : IReceptor {
get { return _receivers; }
set { _receivers = value; }
}
// private List<Cluster> _clusterReceivers = new();
// public List<Cluster> clusterReceivers {
// get { return _clusterReceivers; }
// set { _clusterReceivers = value; }
// }
// public IEnumerable<INucleus> 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;