Exemplo n.º 1
0
    void Update()
    {
        List <FlockEntity> nearbyEntities = new List <FlockEntity>();

        if (SpatialPartition)
        {
            m_BasicSP.Update(m_Entities);
        }

        for (int i = 0; i < m_Entities.Count; i++)
        {
            if (SpatialPartition)
            {
                m_BasicSP.GetEntitiesInRange(ref nearbyEntities, m_Entities[i].Position, m_Entities[i].m_Sight);
            }
            else
            {
                nearbyEntities = m_Entities;
            }

            m_Entities[i].Tagged = false;
            // Dont use Unity update per entity, its not efficent on mobile
            m_Entities[i].UpdateInternal(nearbyEntities, Target.transform.position);
            m_Entities[i].Tagged = true;
        }
    }