Esempio n. 1
0
 public void AddBoxFilter(BoxFilter source)
 {
     if (Building)
     {
         throw new InvalidOperationException("Building");
     }
     BoxFilters.Add(source);
 }
Esempio n. 2
0
            private bool SetActiveBoundsFilters(DtBoundingBox colliderBounds)
            {
                bool hasFilter = false;

                for (int i = 0; i < BoxFilters.Length; i++)
                {
                    BoxFilter filter = BoxFilters[i];
                    if (DtBoundingBox.Intersects(ref filter.Bounds, ref colliderBounds))
                    {
                        filter.Active = true;
                        hasFilter     = true;
                    }
                    else
                    {
                        filter.Active = false;
                    }
                    BoxFilters[i] = filter;
                }
                return(hasFilter);
            }
 private bool ApplyAreaFilters(float3 v0, float3 v1, float3 v2, float3 v3)
 {
     if (HasAreaFilters)
     {
         for (int i = 0; i < BoundsSources.Length; i++)
         {
             BoxFilter source = BoundsSources[i];
             if (!source.Active)
             {
                 continue;
             }
             WorldBoxFilter box = source.WorldBoxFilter;
             if (box.ContainsPoint(v0) || box.ContainsPoint(v1) || box.ContainsPoint(v2) || box.ContainsPoint(v3))
             {
                 return(true);
             }
         }
     }
     return(false);
 }