Exemplo n.º 1
0
 public void load(Stream stream)
 {
     int data = stream.ReadByte();
     if (data <= 0)
     {
         _blocks = null;
         return;
     }
     int offsetX = _x * 16;
     int offsetY = _y * 16;
     int offsetZ = _z * 16;
     for (int z = 0; z < 16; ++z)
     {
         for (int y = 0; y < 16; ++y)
         {
             for (int x = 0; x < 16; ++x)
             {
                 data = stream.ReadByte();
                 if (data < 0)
                 {
                     return;
                 }
                 Block block = new Block(x + offsetX, y + offsetY, offsetZ + z, 0);
                 _blocks[x, y, z] = block;
             }
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// for testing purpose only
 /// include it in the constructor to generate a randomly filled chunk
 /// </summary>
 private void generateStupedWorld()
 {
     Random rnd = new Random();
     for (int x = 0; x < 16; ++x)
     {
         for (int y = 0; y < 16; ++y)
         {
             for (int z = 0; z < 16; ++z)
             {
                 if (rnd.Next(6) == 0)
                 {
                     Block block = new Block(x, y, z, 0);
                     _blocks[x, y, z] = block;
                 }
             }
         }
     }
 }
Exemplo n.º 3
0
 public List<Block> createBlocks()
 {
     List<Block> blocks = new List<Block>();
     foreach (Block srcBlock in model.blocks)
     {
         int blockX = (int) srcBlock.Position.x + x;
         int blockY = (int) srcBlock.Position.y + y;
         int blockZ = (int) srcBlock.Position.z + z;
         Block block = new Block(blockX, blockY, blockZ, srcBlock.TextureId);
         blocks.Add(block);
     }
     return blocks;
 }