Пример #1
0
        // Token: 0x06000CBF RID: 3263 RVA: 0x0005DF10 File Offset: 0x0005C310
        public static void drawTiles(Vector3 position, int drawDistance, Camera camera, Plane[] frustumPlanes)
        {
            int          num          = drawDistance * drawDistance;
            FoliageCoord foliageCoord = new FoliageCoord(position);

            for (int i = -drawDistance; i <= drawDistance; i++)
            {
                for (int j = -drawDistance; j <= drawDistance; j++)
                {
                    FoliageCoord foliageCoord2 = new FoliageCoord(foliageCoord.x + i, foliageCoord.y + j);
                    if (!FoliageSystem.activeTiles.ContainsKey(foliageCoord2))
                    {
                        FoliageTile tile = FoliageSystem.getTile(foliageCoord2);
                        if (tile != null)
                        {
                            int num2 = i * i + j * j;
                            if (num2 <= num)
                            {
                                float density = 1f;
                                float num3    = Mathf.Sqrt((float)num2);
                                if (num3 > 2f && drawDistance > 3)
                                {
                                    density = 1f - (num3 - 2f) / (float)(drawDistance - 1);
                                }
                                FoliageSystem.drawTileCullingChecks(tile, num2, density, camera, frustumPlanes);
                                FoliageSystem.activeTiles.Add(foliageCoord2, tile);
                            }
                        }
                    }
                }
            }
        }