public GenePack Combine(GenePack genePack) { if (this.GetType() == genePack.GetType()) { return(ProducePack(genePack)); } throw new ArgumentException("Cannot combine different typpes of genes."); }
protected override GenePack ProducePack(GenePack genePack) { throw new NotImplementedException(); }
protected abstract GenePack ProducePack(GenePack genePack);