using System; using UnityEngine; /// /// The Nanobrain namespace /// namespace NanoBrain { /// /// A Nucleus is a basic element in a brain cluster /// [Serializable] public abstract class Nucleus { /// /// The name of the Nucleus /// [HideInInspector] public string name; /// /// The cluster instance in which the nucleus is located /// [SerializeReference] [HideInInspector] public Cluster parent; /// /// Function to make a partial clone of this nucleus /// /// The cluster in which the cloned nucleus should be placed /// public abstract Nucleus ShallowCloneTo(Cluster parent); /// /// The types of Nucleus /// public enum Type { None, Neuron, MemoryCell, Cluster, //Receptor, //ClusterReceptor, //ClusterArray, } #region Update /// /// Update the state without updating other Nuclei /// public abstract void UpdateStateIsolated(); #endregion Update } }