Esempio n. 1
0
    public Subchunk GetSubchunk(SubchunkCoord sc)
    {
        Chunk superChunk = GetChunk(sc.superChunkCoord);

        if (superChunk != null)
        {
            return(superChunk.GetSubchunk(sc.subchunkIndex));
        }
        else
        {
            return(null);
        }
    }
Esempio n. 2
0
    public Subchunk(Chunk superChunk, World world, byte subchunkIndex, Material[] materials)
    {
        subchunkObject  = new GameObject();
        this.superChunk = superChunk;
        this.world      = world;
        meshFilter      = subchunkObject.AddComponent <MeshFilter>();
        meshRenderer    = subchunkObject.AddComponent <MeshRenderer>();

        this.materials         = materials;
        meshRenderer.materials = materials;
        subchunkObject.transform.SetParent(superChunk.chunkObject.transform);
        subchunkObject.transform.position = new Vector3(superChunk.position.x, subchunkIndex * VoxelData.ChunkSubdivisionHeight, superChunk.position.z);
        subchunkObject.name = "Subchunk " + subchunkIndex;
        this.subchunkIndex  = subchunkIndex;
        position            = subchunkObject.transform.position;
        coord = new SubchunkCoord(superChunk.coord, subchunkIndex);
    }