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
///
public string name;
///
/// The cluster instance in which the nucleus is located
///
[SerializeReference]
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
}
}