// Token: 0x06000CB9 RID: 3257 RVA: 0x0005DCF8 File Offset: 0x0005C0F8 private static void bakePreTile(FoliageBakeSettings bakeSettings, FoliageTile foliageTile) { if (!bakeSettings.bakeInstancesMeshes) { return; } if (!foliageTile.hasInstances) { foliageTile.readInstancesOnThread(); foliageTile.clearPostBake = true; } if (foliageTile.hasInstances) { if (bakeSettings.bakeApplyScale) { foliageTile.applyScale(); } else { foliageTile.clearGeneratedInstances(); } } }
// Token: 0x06000C4A RID: 3146 RVA: 0x0005CB44 File Offset: 0x0005AF44 public override int getInstanceCountInVolume(IShapeVolume volume) { Bounds worldBounds = volume.worldBounds; FoliageBounds foliageBounds = new FoliageBounds(worldBounds); int num = 0; for (int i = foliageBounds.min.x; i <= foliageBounds.max.x; i++) { for (int j = foliageBounds.min.y; j <= foliageBounds.max.y; j++) { FoliageCoord tileCoord = new FoliageCoord(i, j); FoliageTile tile = FoliageSystem.getTile(tileCoord); if (tile != null) { if (!tile.hasInstances) { tile.readInstancesOnThread(); } FoliageInstanceList foliageInstanceList; if (tile.instances != null && tile.instances.TryGetValue(base.getReferenceTo <FoliageInstancedMeshInfoAsset>(), out foliageInstanceList)) { foreach (List <Matrix4x4> list in foliageInstanceList.matrices) { foreach (Matrix4x4 matrix in list) { if (volume.containsPoint(matrix.GetPosition())) { num++; } } } } } } } return(num); }