Files
VoxelEngine/World/Chunk.cs

20 lines
511 B
C#

namespace VoxelEngine.World;
public sealed class Chunk
{
public const int Size = 16;
private readonly ushort[] _ids = new ushort[Size * Size * Size];
public ushort this[int x, int y, int z]
{
get => _ids[Index(x, y, z)];
set => _ids[Index(x, y, z)] = value;
}
public static bool InBounds(int x, int y, int z) =>
x >= 0 && x < Size && y >= 0 && y < Size && z >= 0 && z < Size;
private static int Index(int x, int y, int z) => (x * Size + y) * Size + z;
}