// 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(); }