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); }
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)); } } } }
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); }