Ejemplo n.º 1
0
 public virtual void DoUpdate()
 {
     if (autoSetRegionCount)
     {
         lineRenderers = lineRenderersParent.GetComponentsInChildren <LineRenderer>();
         Region region;
         if (regions.Length < lineRenderers.Length)
         {
             for (int i = regions.Length; i < lineRenderers.Length; i++)
             {
                 region = new Region();
                 region.lineRenderer     = lineRenderers[i];
                 region.autoSetPositions = true;
                 regions = regions.Add(region);
             }
         }
     }
     if (autoSetLineRenderers)
     {
         lineRenderers = lineRenderersParent.GetComponentsInChildren <LineRenderer>();
         for (int i = 0; i < regions.Length; i++)
         {
             regions[i].lineRenderer = lineRenderers[i];
         }
     }
     while (true)
     {
         indexOfNullPoint = points.IndexOf(null);
         if (indexOfNullPoint == -1)
         {
             break;
         }
         else
         {
             points = points.RemoveAt(indexOfNullPoint);
         }
     }
     foreach (Region region in regions)
     {
         if (region.autoSetPositions)
         {
             for (int i = 0; i < region.lineRenderer.positionCount; i++)
             {
                 region.lineRenderer.SetPosition(i, TransformExtensions.GetClosestTransform_2D(points, region.lineRenderer.GetPosition(i)).position);
             }
         }
     }
 }