Beispiel #1
0
    /**
     * Set the tints for all parts of the fish
     *
     * @param genome FishGenome The genome that will determine what tints are applied
     */
    private void SetTints(FishGenome genome)
    {
        // Temporary colors to indicate sex and size
        Color color1 = genome.IsMale() ? Color.blue : Color.magenta;

        Color color2;

        if (genome[FishGenome.GeneType.Size].dadGene != genome[FishGenome.GeneType.Size].momGene)
        {
            color2 = Color.yellow;
        }
        else if (genome[FishGenome.GeneType.Size].momGene == FishGenome.B)
        {
            color2 = Color.red;
        }
        else
        {
            color2 = Color.green;
        }

        rend.material.SetColor("_Color", color1);
        rend.material.SetColor("_Color2", color2);
        //rend.material.SetColor("_Color3", GetAColor());
        //rend.material.SetColor("_Color4", GetAColor());
    }
Beispiel #2
0
    /**
     * Determine which fish prefab should be used given a fish's genome
     *
     * @param genome FishGenome The genome that determines which prefab we should use
     */
    public GameObject GetFishPrefab(FishGenome genome)
    {
        // gameobject we will return at end
        GameObject toReturn;

        // get the size gene for the fish
        FishGenePair sizeGenePair = genome[FishGenome.GeneType.Size];

        // different prefabs for each sex
        if (genome.IsMale())
        {
            // different prefabs for each male size
            if (sizeGenePair.momGene == FishGenome.b && sizeGenePair.dadGene == FishGenome.b)
            {
                toReturn = smallMale;
            }
            else if (sizeGenePair.momGene == FishGenome.B && sizeGenePair.dadGene == FishGenome.B)
            {
                toReturn = largeMale;
            }
            else
            {
                toReturn = mediumMale;
            }
        }
        else
        {
            // different prefabs for each female size
            if (sizeGenePair.momGene == FishGenome.b && sizeGenePair.dadGene == FishGenome.b)
            {
                toReturn = smallFemale;
            }
            else if (sizeGenePair.momGene == FishGenome.B && sizeGenePair.dadGene == FishGenome.B)
            {
                toReturn = largeFemale;
            }
            else
            {
                toReturn = mediumFemale;
            }
        }

        return(toReturn);
    }