public Chunk GetChunk(int x, int y)
 {
     if (chunks[x + chunkOffset] == null)
     {
         chunks[x + chunkOffset] = new ChunkArray();
     }
     return(chunks[x + chunkOffset].chunks[y + chunkOffset]);
 }
 public void SetChunk(int x, int y, Chunk chunk)
 {
     if (chunks[x + chunkOffset] == null)
     {
         chunks[x + chunkOffset] = new ChunkArray();
     }
     chunks[x + chunkOffset].chunks[y + chunkOffset] = chunk;
 }
Esempio n. 3
0
 public void SetChunk(int x, int y, Chunk chunk)
 {
     if (chunks[x + chunkOffset] == null)
     {
         chunks[x + chunkOffset] = new ChunkArray();
     }
     chunks[x + chunkOffset].chunks[y + chunkOffset] = chunk;
 }
Esempio n. 4
0
 public Chunk GetChunk(int x, int y)
 {
     if (chunks[x + chunkOffset] == null)
     {
         chunks[x + chunkOffset] = new ChunkArray();
     }
     return chunks[x + chunkOffset].chunks[y + chunkOffset];
 }
Esempio n. 5
0
        private static ChunkArray <int> CreateAndFillChunkArray(int length)
        {
            ChunkArray <int> array = new ChunkArray <int>(length);

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = i;
            }
            return(array);
        }
Esempio n. 6
0
        public void ChunkArrayLongTest()
        {
            ChunkArray <int> array = new ChunkArray <int>(0xFFF);

            Assert.AreEqual(0xFFF, array.Length);
            array[0xFFE] = 1;
            Assert.AreEqual(1, array[0xFFE]);

            array = new ChunkArray <int>(0x1000);
            Assert.AreEqual(0x1000, array.Length);
            array[0xFFF] = 1;
            Assert.AreEqual(1, array[0xFFF]);

            array = new ChunkArray <int>(0x1001);
            Assert.AreEqual(0x1001, array.Length);
            array[0x1000] = 1;
            Assert.AreEqual(1, array[0x1000]);
        }
Esempio n. 7
0
        public void ChunkCopyToArrayTest()
        {
            ChunkArray <int> array = CreateAndFillChunkArray(0xFFF);

            CheckArrayCopy(array.ToArray(), 0xFFF);

            array = CreateAndFillChunkArray(0x1000);
            CheckArrayCopy(array.ToArray(), 0x1000);

            array = CreateAndFillChunkArray(0x1001);
            CheckArrayCopy(array.ToArray(), 0x1001);

            array = CreateAndFillChunkArray(0x1FFF);
            CheckArrayCopy(array.ToArray(), 0x1FFF);

            array = CreateAndFillChunkArray(0x2000);
            CheckArrayCopy(array.ToArray(), 0x2000);

            array = CreateAndFillChunkArray(0x2001);
            CheckArrayCopy(array.ToArray(), 0x2001);
        }
Esempio n. 8
0
        public void ChunkArrayShortTest()
        {
            ChunkArray <int> array = new ChunkArray <int>(0);

            Assert.AreEqual(0, array.Length);

            array = new ChunkArray <int>(10);

            Assert.AreEqual(10, array.Length);

            for (int i = 0; i < array.Length; i++)
            {
                Assert.AreEqual(0, array[i]);
            }
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = i;
            }
            for (int i = 0; i < array.Length; i++)
            {
                Assert.AreEqual(i, array[i]);
            }
        }
Esempio n. 9
0
        public void ChunkArrayFailRange2Test()
        {
            var array = new ChunkArray <int>(1);

            array[-1] = 1;
        }
Esempio n. 10
0
 /// <summary>Create a new instance of SuggestionStage.</summary>
 /// <remarks>Specifying ann accurate initialCapacity is not essential,
 /// but it can help speed up processing by aleviating the need for
 /// data restructuring as the size grows.</remarks>
 /// <param name="initialCapacity">The expected number of words that will be added.</param>
 public SuggestionStage(int initialCapacity)
 {
     Deletes = new Dictionary <int, Entry>(initialCapacity);
     Nodes   = new ChunkArray <Node>(initialCapacity * 2);
 }
Esempio n. 11
0
 public ClientChunkProvider(ClientWorld world, int viewDistance)
 {
     _world      = world;
     _chunkArray = new ChunkArray(AdjustViewDistance(viewDistance));
 }