Пример #1
0
    void Start()
    {
        int[,] tiles     = new int[World.ChunkSize, World.ChunkSize];
        float[,] heights = new float[World.ChunkSize, World.ChunkSize];
        ChunkVoxelData cvd = new ChunkVoxelData();

        for (int x = 0; x < World.ChunkSize; x++)
        {
            for (int z = 0; z < World.ChunkSize; z++)
            {
                heights[x, z] = x + z;
                tiles[x, z]   = Tile.GRASS.ID;
                for (int y = 0; y < World.ChunkHeight; y++)
                {
                    if (x + y + z < 20)
                    {
                        cvd.SetVoxel(x, y, z, Voxel.stone);
                    }
                    else if ((x - 8) * (x - 8) + (y - 8) * (y - 8) + (z - 8) * (z - 8) < 5 * 5)
                    {
                        cvd.SetVoxel(x, y, z, Voxel.wood);
                    }
                }
            }
        }
        ChunkData cData = new ChunkData(0, 0, tiles, true, 5, heights);

        cData.SetVoxelData(cvd);
        ChunkLoader.LoadChunk(cData);
    }
Пример #2
0
        public override void LoadSection(BinaryReaderEx reader)
        {
            base.LoadSection(reader);

            this.baseChunk = ChunkLoader.LoadChunk(SectionType.sdrb, reader, null);
            this.Children  = new List <INavigable>();
            this.Children.Add(baseChunk);
        }
Пример #3
0
 protected virtual void Load(Chunk chunk)
 {
     _Loader.LoadChunk(chunk);
     chunk.BlocksLoaded = true;
 }