public void ResizeCompactedLongArrayTest(byte bitsPerEntry, byte newBitsPerEntry) { var faker = new Faker(); var array = new CompactedLongArray(bitsPerEntry, 4096); var listOfValues = new List <int>(); for (int i = 0; i < 4096; i++) { int value = faker.Random.Int(0, 15); listOfValues.Add(value); array.Set(i, value); } Assert.Equal(bitsPerEntry, array.BitsPerEntry); array.Resize(newBitsPerEntry); Assert.Equal(newBitsPerEntry, array.BitsPerEntry); for (int i = 0; i < 4096; i++) { int value = array.Get(i); int savedValue = listOfValues[i]; Assert.Equal(savedValue, value); } }
public Chunk(IRegion region, int x, int z, IServiceProvider serviceProvider) { Region = region; X = x; Z = z; _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _chunkSections = Enumerable.Range(0, ChunkSectionAmount).Select(index => new ChunkSection(this, index, _serviceProvider)).ToList(); _heightmap = new CompactedLongArray(9, 256); _oceanFloorHeightmap = new CompactedLongArray(9, 256); _worldSurfaceHeightmap = new CompactedLongArray(9, 256); }
public ChunkSection(IChunk chunk, int index, IServiceProvider serviceProvider) { Chunk = chunk; Index = index; _serviceProvider = serviceProvider; _blocks = new IBlock[MaximumBlockAmount]; _blockFactory = _serviceProvider.GetRequiredService <IBlockFactory>(); _registry = _serviceProvider.GetRequiredService <IRegistry>(); _blockStorage = new CompactedLongArray(DefaultBitsPerBlock, MaximumBlockAmount); _palette = new BlockStatePalette(DefaultBitsPerBlock, MaximumBitsPerBlock); _palette.Resized += OnPaletteResized; Initialize(); }
public void CompactedLongArrayMethodsTest(byte bitsPerEntry, int capacity, int value) { var array = new CompactedLongArray(bitsPerEntry, capacity); Assert.Equal(capacity, array.Length); Assert.Equal(bitsPerEntry, array.BitsPerEntry); for (int i = 0; i < capacity; i++) { array.Set(i, value); } for (int i = 0; i < capacity; i++) { Assert.Equal(value, array.Get(i)); } }
public void CompactedLongArrayIndexerTest(byte bitsPerEntry, int capacity, int value) { var array = new CompactedLongArray(bitsPerEntry, capacity); Assert.Equal(capacity, array.Length); Assert.Equal(bitsPerEntry, array.BitsPerEntry); for (int i = 0; i < capacity; i++) { array[i] = value; } for (int i = 0; i < capacity; i++) { Assert.Equal(value, array[i]); } }