feat: add Chunk as a dense 16-cubed id array

This commit is contained in:
2026-05-28 11:56:49 +02:00
parent f4d3f9aab4
commit 90be1035d4
2 changed files with 59 additions and 0 deletions

19
World/Chunk.cs Normal file
View File

@@ -0,0 +1,19 @@
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;
}