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; } }