public void TestOffsetToCube() { var flatOdd = HexLayoutFactory.CreateFlatHexLayout(new Point(10, 15), new Point(35, 71), Offset.Odd); var flatEven = HexLayoutFactory.CreateFlatHexLayout(new Point(10, 15), new Point(35, 71), Offset.Even); EqualHex("offset_to_cube even-Q", new CubeCoordinates(1, 2, -3), flatEven.ToCubeCoordinates(new OffsetCoordinates(1, 3))); EqualHex("offset_to_cube odd-Q", new CubeCoordinates(1, 2, -3), flatOdd.ToCubeCoordinates(new OffsetCoordinates(1, 2))); }
public void TestLayout() { CubeCoordinates h = new CubeCoordinates(3, 4, -7); var flat = HexLayoutFactory.CreateFlatHexLayout(new Point(10, 15), new Point(35, 71), Offset.Even); EqualHex("layout", h, flat.PixelToHex(flat.HexToPixel(h)).Round()); var pointy = HexLayoutFactory.CreatePointyHexLayout(new Point(10, 15), new Point(35, 71), Offset.Even); EqualHex("layout", h, pointy.PixelToHex(pointy.HexToPixel(h)).Round()); }
public void TestConversionRoundtrip() { CubeCoordinates a = new CubeCoordinates(3, 4, -7); OffsetCoordinates b = new OffsetCoordinates(1, -3); var flatOdd = HexLayoutFactory.CreateFlatHexLayout(new Point(10, 15), new Point(35, 71), Offset.Odd); var flatEven = HexLayoutFactory.CreateFlatHexLayout(new Point(10, 15), new Point(35, 71), Offset.Even); var pointyOdd = HexLayoutFactory.CreatePointyHexLayout(new Point(10, 15), new Point(35, 71), Offset.Odd); var pointyEven = HexLayoutFactory.CreatePointyHexLayout(new Point(10, 15), new Point(35, 71), Offset.Even); EqualHex("conversion_roundtrip even-Q", a, flatEven.ToCubeCoordinates(flatEven.ToOffsetCoordinates(a))); EqualOffsetcoord("conversion_roundtrip even-Q", b, flatEven.ToOffsetCoordinates(flatEven.ToCubeCoordinates(b))); EqualHex("conversion_roundtrip odd-Q", a, flatOdd.ToCubeCoordinates(flatOdd.ToOffsetCoordinates(a))); EqualOffsetcoord("conversion_roundtrip odd-Q", b, flatOdd.ToOffsetCoordinates(flatOdd.ToCubeCoordinates(b))); EqualHex("conversion_roundtrip even-R", a, pointyEven.ToCubeCoordinates(pointyEven.ToOffsetCoordinates(a))); EqualOffsetcoord("conversion_roundtrip even-R", b, pointyEven.ToOffsetCoordinates(pointyEven.ToCubeCoordinates(b))); EqualHex("conversion_roundtrip odd-R", a, pointyOdd.ToCubeCoordinates(pointyOdd.ToOffsetCoordinates(a))); EqualOffsetcoord("conversion_roundtrip odd-R", b, pointyOdd.ToOffsetCoordinates(pointyOdd.ToCubeCoordinates(b))); }