Esempio n. 1
0
    private bool IsObjectiveReached(Alien finalAlien)
    {
        for (int i = 0; i < m_PickedGenes.Count; i++)
        {
            GeneType currentGeneType = m_PickedGenes[i];

            AlienGeneData alienGeneData = GetAlienGeneFromType(currentGeneType);
            if (alienGeneData.Ignore)
            {
                continue;
            }

            bool isColor = currentGeneType == GeneType.COLOR;

            int targetAlienValue = alienGeneData.Value,
                finalAlienValue  = isColor ? finalAlien.ColorGeneValue.Value : finalAlien.GetGeneFromType(currentGeneType).Value;

            if (targetAlienValue != finalAlienValue)
            {
                return(false);
            }
        }

        return(true);
    }
Esempio n. 2
0
    public AlienGeneData GetAlienGeneFromType(GeneType geneType)
    {
        for (int i = 0; i < m_TargetGeneValues.Count; i++)
        {
            AlienGeneData currentGeneValue = m_TargetGeneValues[i];
            if (currentGeneValue.GeneType == geneType)
            {
                return(currentGeneValue);
            }
        }

        return(null);
    }
Esempio n. 3
0
    public void SetGeneData(AlienGeneData geneData)
    {
        if (geneData.GeneType == GeneType.COLOR)
        {
            m_ColorGeneValue.Value = geneData.Value;

            SetGeneColor();
            SetAllGenesToColor(m_ColorGeneValue);

            return;
        }

        AlienGeneValue geneValue = GetGeneFromType(geneData.GeneType);

        geneValue.Value = geneData.Value;

        SetGeneImage(geneValue);
    }