private void Clear() { Genes = new GrowableGene[6]; for (int i = 0; i < 6; i++) { Genes[i] = new GrowableGene(); } }
public static string DecodeIntToGeneString(int data) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 6; i++) { stringBuilder.Append(GrowableGene.GetColourCodedDisplayCharacter((GrowableGenetics.GeneType)Get(data, i))); } return(stringBuilder.ToString()); }
private string GetDisplayString(bool previousGenes) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 6; i++) { stringBuilder.Append(GrowableGene.GetDisplayCharacter(previousGenes ? Genes[i].PreviousType : Genes[i].Type)); } return(stringBuilder.ToString()); }
public static void CrossBreed(GrowableEntity growable) { List <GrowableEntity> list = Pool.GetList <GrowableEntity>(); Vis.Entities(growable.transform.position, 1.5f, list, 512); bool flag = false; for (int i = 0; i < 6; i++) { GrowableGene growableGene = growable.Genes.Genes[i]; GeneWeighting dominantGeneWeighting = GetDominantGeneWeighting(growable, list, i); if (dominantGeneWeighting.Weighting > growable.Properties.Genes.Weights[(int)growableGene.Type].CrossBreedingWeight) { flag = true; growableGene.Set(dominantGeneWeighting.GeneType); } } if (flag) { growable.SendNetworkUpdate(); } }