public Chunk(int x, int z, CoordinateSpace space) { if (space == CoordinateSpace.World) { x >>= 4; z >>= 4; } chunkSegments = new List <ChunkSegment>(height); coordinates = new ChunkCoordinates2D(x, z, CoordinateSpace.Chunk); chunks.Add(GetChunkHashCode(), this); for (int y = 0; y < height; y++) { ChunkCoordinates3D coordinates = new ChunkCoordinates3D(x, y, z, CoordinateSpace.Chunk); ChunkSegment segment = new ChunkSegment(this, coordinates); chunkSegments.Add(segment); } }
public ChunkSegment(Chunk chunk, ChunkCoordinates3D coordinates) { this.coordinates = coordinates; this.chunk = chunk; }