Example #1
0
        public IEnumerator RockChunkGeneration()
        {
            sw.Start();
            var chunk = Map.GetChunk(new WorldPosition.ChunkPosition(0, 0, 0));

            sw.Stop();
            LogResults();
//            NAssert.Less(elapsed, FrameTime);

            yield return(null);


            foreach (var(index, data) in chunk)
            {
                Assert.AreEqual(data.blockType, BlockType.Rock);
                var lp = new WorldPosition.LocalPosition(index);

//                Debug.Log(lp + " was " + data.adjoiningBlocks);
                if (lp.x * lp.y * lp.z == 0 ||
                    lp.x == WorldPosition.ChunkSize - 1 ||
                    lp.y == WorldPosition.ChunkSize - 1 ||
                    lp.z == WorldPosition.ChunkSize - 1)
                {
                    NAssert.Less(data.adjoiningBlocks, 6);
                }
                else
                {
                    NAssert.AreEqual(data.adjoiningBlocks, 6);
                }
            }

            yield return(null);
        }
Example #2
0
        public void CheckingPositions()
        {
            for (var z = 0u; z < WorldPosition.ChunkSize; z++)
            {
                for (var y = 0u; y < WorldPosition.ChunkSize; y++)
                {
                    for (var x = 0u; x < WorldPosition.ChunkSize; x++)
                    {
                        var lp = new WorldPosition.LocalPosition(x, y, z);
                        Assert.AreEqual(lp.x, x);
                        Assert.AreEqual(lp.y, y);
                        Assert.AreEqual(lp.z, z);

                        Assert.AreEqual(lp, new WorldPosition.LocalPosition(lp.Index));
                    }
                }
            }
        }
Example #3
0
        public IEnumerator AddingLocalPositions()
        {
            for (var z = 0u; z < WorldPosition.ChunkSize; z++)
            {
                for (var y = 0u; y < WorldPosition.ChunkSize; y++)
                {
                    for (var x = 0u; x < WorldPosition.ChunkSize; x++)
                    {
                        var startLocal = new WorldPosition.LocalPosition(x, y, z);
                        Assert.AreEqual(startLocal, startLocal.Add(WorldPosition.LocalPosition.Zero, out var off1));
                        Assert.AreEqual(off1, WorldPosition.ChunkPosition.Zero);

                        var added = startLocal.Add(startLocal, out var off2);
                    }
                }
            }

            yield return(null);
        }