// Token: 0x06000CB8 RID: 3256 RVA: 0x0005DCD2 File Offset: 0x0005C0D2
 public static void bakeCancel()
 {
     if (FoliageSystem.bakeQueue.Count == 0)
     {
         return;
     }
     FoliageSystem.bakeQueue.Clear();
     FoliageSystem.bakeEnd();
 }
 // Token: 0x06000CC9 RID: 3273 RVA: 0x0005E3D4 File Offset: 0x0005C7D4
 protected void Update()
 {
     if (MainCamera.instance == null)
     {
         return;
     }
     FoliageSystem.activeTiles.Clear();
     if (FoliageSettings.enabled && FoliageSystem.foliageVisibilityGroup.isVisible)
     {
         FoliageSystem.mainCameraFrustumPlanes = GeometryUtility.CalculateFrustumPlanes(MainCamera.instance);
         FoliageSystem.drawTiles(MainCamera.instance.transform.position, FoliageSettings.drawDistance, null, FoliageSystem.mainCameraFrustumPlanes);
         if (FoliageSettings.drawFocus && FoliageSystem.isFocused && FoliageSystem.focusCamera != null)
         {
             if (MainCamera.instance == FoliageSystem.focusCamera)
             {
                 FoliageSystem.focusCameraFrustumPlanes = FoliageSystem.mainCameraFrustumPlanes;
             }
             else
             {
                 FoliageSystem.focusCameraFrustumPlanes = GeometryUtility.CalculateFrustumPlanes(FoliageSystem.focusCamera);
             }
             FoliageSystem.drawTiles(FoliageSystem.focusPosition, FoliageSettings.drawFocusDistance, FoliageSystem.focusCamera, FoliageSystem.focusCameraFrustumPlanes);
         }
     }
     foreach (KeyValuePair <FoliageCoord, FoliageTile> keyValuePair in FoliageSystem.prevTiles)
     {
         if (!FoliageSystem.activeTiles.ContainsKey(keyValuePair.Key))
         {
             if (keyValuePair.Value != null && keyValuePair.Value.hasInstances)
             {
                 if (keyValuePair.Value.canSafelyClear)
                 {
                     keyValuePair.Value.clearInstances();
                 }
             }
         }
     }
     FoliageSystem.prevTiles.Clear();
     foreach (KeyValuePair <FoliageCoord, FoliageTile> keyValuePair2 in FoliageSystem.activeTiles)
     {
         FoliageSystem.prevTiles.Add(keyValuePair2.Key, keyValuePair2.Value);
     }
     if (FoliageSystem.bakeQueue.Count > 0)
     {
         KeyValuePair <FoliageTile, List <IFoliageSurface> > keyValuePair3 = FoliageSystem.bakeQueue.Dequeue();
         FoliageSystem.bake(keyValuePair3.Key, keyValuePair3.Value);
         if (FoliageSystem.bakeQueue.Count == 0)
         {
             FoliageSystem.bakeEnd();
         }
     }
 }
        // Token: 0x06000CB3 RID: 3251 RVA: 0x0005DAD4 File Offset: 0x0005BED4
        private static void bakeGlobalBegin()
        {
            Dictionary <FoliageTile, List <IFoliageSurface> > tileSurfacePairs = FoliageSystem.getTileSurfacePairs();

            foreach (KeyValuePair <FoliageTile, List <IFoliageSurface> > item in tileSurfacePairs)
            {
                FoliageSystem.bakeQueue.Enqueue(item);
            }
            FoliageSystem.bakeQueueTotal = FoliageSystem.bakeQueue.Count;
            if (FoliageSystem.< > f__mg$cache0 == null)
            {
                FoliageSystem.< > f__mg$cache0 = new FoliageSystemPostBakeHandler(FoliageSystem.bakeGlobalEnd);
            }
            FoliageSystem.bakeEnd = FoliageSystem.< > f__mg$cache0;
            FoliageSystem.bakeEnd();
        }
        // Token: 0x06000CB6 RID: 3254 RVA: 0x0005DBA0 File Offset: 0x0005BFA0
        private static void bakeLocalBegin()
        {
            FoliageSystem.bakeLocalPosition = MainCamera.instance.transform.position;
            int          num          = 6;
            int          num2         = num * num;
            FoliageCoord foliageCoord = new FoliageCoord(FoliageSystem.bakeLocalPosition);
            Dictionary <FoliageTile, List <IFoliageSurface> > tileSurfacePairs = FoliageSystem.getTileSurfacePairs();

            for (int i = -num; i <= num; i++)
            {
                for (int j = -num; j <= num; j++)
                {
                    int num3 = i * i + j * j;
                    if (num3 <= num2)
                    {
                        FoliageCoord tileCoord = new FoliageCoord(foliageCoord.x + i, foliageCoord.y + j);
                        FoliageTile  tile      = FoliageSystem.getTile(tileCoord);
                        if (tile != null)
                        {
                            List <IFoliageSurface> value;
                            if (tileSurfacePairs.TryGetValue(tile, out value))
                            {
                                KeyValuePair <FoliageTile, List <IFoliageSurface> > item = new KeyValuePair <FoliageTile, List <IFoliageSurface> >(tile, value);
                                FoliageSystem.bakeQueue.Enqueue(item);
                            }
                        }
                    }
                }
            }
            FoliageSystem.bakeQueueTotal = FoliageSystem.bakeQueue.Count;
            if (FoliageSystem.< > f__mg$cache1 == null)
            {
                FoliageSystem.< > f__mg$cache1 = new FoliageSystemPostBakeHandler(FoliageSystem.bakeLocalEnd);
            }
            FoliageSystem.bakeEnd = FoliageSystem.< > f__mg$cache1;
            FoliageSystem.bakeEnd();
        }