public bool CharacterReachEnd(CharacterController character)
        {
            if (finished)
            {
                return(false);
            }

            GenomeControlInput input = character.GetComponent <GenomeControlInput>();

            bool matched = false;

            for (int i = 0; i < instanceCount; i++)
            {
                if (input == m_inputs[i])
                {
                    matched = true;
                    break;
                }
            }

            if (!matched)
            {
                return(false);
            }

            m_currentGenome = input.GenomeData;

            for (int i = 0; i < instanceCount; i++)
            {
                GameObject.Destroy(m_inputs[i].gameObject);
            }

            finished = true;

            return(true);
        }
Esempio n. 2
0
        public float CalculateGenomeCharacterPoints(GenomeControlInput input)
        {
            Vector2 delta = input.transform.position - endTransform.position;

            return(delta.sqrMagnitude);
        }