Exemplo n.º 1
0
    public void ResetAgent(bool cross_over = false, Genes father = null, Genes mother = null)
    {
        if (!cross_over)
        {
            m_AgentGenes.RandomizeGenes(genes_ranges);
        }
        else
        {
            m_AgentGenes.CrossOver(father, mother);
        }
        visible_food.Clear();
        visible_predators.Clear();
        visible_animals.Clear();
        unimpressed_females.Clear();
        wander_point    = null;
        m_EatingFood    = null;
        m_WaterDrinking = null;
        m_MateTarget    = null;
        m_reproducing   = 0.0f;

        var sprite = GetComponent <SpriteRenderer>();
        var mat    = sprite.material;

        if (m_AgentGenes.m_IsMale)
        {
            float g     = (1.0f - m_AgentGenes.m_Desirabilty);
            float r     = 0.23f * g;
            var   color = new Color(0.7f - r, 0.43f * g, 0.0f, 1.0f);
            mat.color = color;
        }
        else
        {
            mat.color = Color.gray;
        }
    }