Пример #1
0
        public bool CheckSphere(Vector3 center, float radius, List <GameObject> objects, List <GameObject> ignoreList = null)
        {
            var result = false;

            k_Renderers.Clear();
            var bounds = new Bounds(center, radius * 2 * Vector3.one);

            if (m_SpatialHashContainer.GetIntersections(k_Renderers, bounds))
            {
                for (var i = 0; i < k_Renderers.Count; i++)
                {
                    var renderer = k_Renderers[i];
                    if (ignoreList != null && ignoreList.Contains(renderer.gameObject))
                    {
                        continue;
                    }

                    var transform = renderer.transform;

                    IntersectionUtils.SetupCollisionTester(m_CollisionTester, transform);

                    if (IntersectionUtils.TestSphere(m_CollisionTester, transform, center, radius))
                    {
                        objects.Add(renderer.gameObject);
                        result = true;
                    }
                }
            }

            return(result);
        }