Example #1
0
    /// <summary>
    /// Add a chunk at selected chunk coordinates
    /// </summary>
    private VoxelChunk AddChunk(int X, int Z)
    {
        VoxelChunk chunk = null;

        if (mChunkPool.Count != 0)
        {
            chunk = mChunkPool.Dequeue();
        }
        else
        {
            chunk = VoxelChunk.NewPoolObj(this);
            Debug.LogWarning("Chunk pool was empty, so had to create a new object");
        }

        chunk.Construct(X, Z);
        mActiveChunks[new ChunkID(X, Z)] = chunk;
        return(chunk);
    }