public void EnumValueFromIndexTest() { BloodType first = 0; int amountOfTypes = EnumUtils.EnumLength <BloodType>(); BloodType last = (BloodType)(amountOfTypes - 1); Assert.AreNotEqual(first, last); last -= amountOfTypes; last++; Assert.AreEqual(first, last); }
public static BasicMap CropToContent(this BasicMap m) { int minX = m.Width; int maxX = 0; int minY = m.Height; int maxY = 0; for (int x = 0; x < m.Width; x++) { for (int y = 0; y < m.Height; y++) { if (m.GetTerrain <BasicTerrain>(new Coord(x, y)) != null) { if (minX > x) { minX = x; } if (minY > y) { minY = y; } if (maxX < x) { maxX = x; } if (maxY < y) { maxY = y; } } } } int dx = Math.Abs(maxX - minX + 1); int dy = Math.Abs(maxY - minY + 1); Coord offset = new Coord(-minX, -minY); BasicMap map = new BasicMap(dx, dy, EnumUtils.EnumLength <MapLayer>(), Distance.EUCLIDEAN); map.ForXForY((point) => { if (m.Contains(point - offset)) { BasicTerrain terrain = m.GetTerrain <BasicTerrain>(point - offset); if (terrain != null) { map.SetTerrain(_factory.Copy(terrain, point)); } } }); return(map); }
public void EnumLengthTest() { int answer = EnumUtils.EnumLength <BloodType>(); Assert.AreEqual(4, answer); }