Exemplo n.º 1
0
        private void ReloadChunk(int X, int Y, int Z)
        {
            Macroblock C = GetChunk(X, Y, Z);

            if (C != null)
            {
                C.Dirty = true;
            }
        }
Exemplo n.º 2
0
        public BlockID GetBlock(Macroblock Src, int x, int y, int z)
        {
            var Chnk = GetChunk(x / Macroblock.ChunkSize, y / Macroblock.ChunkSize, z / Macroblock.ChunkSize);

            if (Chnk != null && Chnk != Src)
            {
                return(Chnk.GetBlock(x % Macroblock.ChunkSize, y % Macroblock.ChunkSize, z % Macroblock.ChunkSize));
            }
            else
            {
                return(BlockDefs.Air);
            }
        }
Exemplo n.º 3
0
 public void Render()
 {
     for (int x = 0; x < WorldSize; x++)
     {
         for (int y = 0; y < WorldSize; y++)
         {
             for (int z = 0; z < WorldHeight; z++)
             {
                 Macroblock Chnk = Chunks[x, y, z];
                 if (Chnk != null)
                 {
                     Chnk.ChunkMatrix = Matrix4.CreateTranslation(
                         x * Macroblock.ChunkSize * Block.Size,
                         y * Macroblock.ChunkSize * Block.Size,
                         z * Macroblock.ChunkSize * Block.Size);
                     Chnk.Render();
                 }
             }
         }
     }
 }