Exemple #1
0
        public void Reset(Vector3 observer, float maxDistance)
        {
            Items.Clear();

            foreach (var collider in Physics.OverlapSphere(observer, maxDistance, 1, QueryTriggerInteraction.Collide))
            {
                if (!collider.isTrigger)
                {
                    continue;
                }

                var block = SearchZone.Get(collider.gameObject);

                if (block != null)
                {
                    Items.Add(block);
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Creates a list of search zones that are in the area surounding the observer.
        /// </summary>
        public void Reset(Vector3 observer, float maxDistance)
        {
            Items.Clear();
            var count = Physics.OverlapSphereNonAlloc(observer, maxDistance, Util.Colliders, Layers.Zones, QueryTriggerInteraction.Collide);

            for (int i = 0; i < count; i++)
            {
                var collider = Util.Colliders[i];

                if (!collider.isTrigger)
                {
                    continue;
                }

                var block = SearchZone.Get(collider.gameObject);

                if (block != null)
                {
                    Items.Add(block);
                }
            }
        }