public static SlimeGenome CombineGenomes(SlimeGenome original, SlimeGenome other) { var spliceSettings = new SpliceSettings(); var newGenome = GetBaseGenome(); foreach (var trait in original.AllTraits) { trait.Processor.AssembleSpliceSettings(trait, spliceSettings); } foreach (var trait in original.AllTraits) { newGenome[trait.FullID] = trait.Processor.CombineTraits(trait, other[trait.FullID], spliceSettings); } return(newGenome); }
public virtual void AssembleSpliceSettings(SlimeTrait trait, SpliceSettings settings) { }
public abstract SlimeTrait CombineTraits(SlimeTrait original, SlimeTrait other, SpliceSettings settings);