Пример #1
0
 private void Clear()
 {
     Genes = new GrowableGene[6];
     for (int i = 0; i < 6; i++)
     {
         Genes[i] = new GrowableGene();
     }
 }
Пример #2
0
    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());
    }
Пример #3
0
    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());
    }
Пример #4
0
    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();
        }
    }