public void TestHexRound() { CubeFractionCoordinates a = new CubeFractionCoordinates(0, 0, 0); CubeFractionCoordinates b = new CubeFractionCoordinates(1, -1, 0); CubeFractionCoordinates c = new CubeFractionCoordinates(0, -1, 1); EqualHex("hex_round 1", new CubeCoordinates(5, -10, 5), CubeFractionCoordinates.HexLerp(new CubeFractionCoordinates(0, 0, 0), new CubeFractionCoordinates(10, -20, 10), 0.5).Round()); EqualHex("hex_round 2", a.Round(), CubeFractionCoordinates.HexLerp(a, b, 0.499).Round()); EqualHex("hex_round 3", b.Round(), CubeFractionCoordinates.HexLerp(a, b, 0.501).Round()); EqualHex("hex_round 4", a.Round(), new CubeFractionCoordinates(a.Q * 0.4 + b.Q * 0.3 + c.Q * 0.3, a.R * 0.4 + b.R * 0.3 + c.R * 0.3, a.S * 0.4 + b.S * 0.3 + c.S * 0.3).Round()); EqualHex("hex_round 5", c.Round(), new CubeFractionCoordinates(a.Q * 0.3 + b.Q * 0.3 + c.Q * 0.4, a.R * 0.3 + b.R * 0.3 + c.R * 0.4, a.S * 0.3 + b.S * 0.3 + c.S * 0.4).Round()); }
public void TestHexLinedraw() { EqualHexArray("hex_linedraw", new List <CubeCoordinates> { new CubeCoordinates(0, 0, 0), new CubeCoordinates(0, -1, 1), new CubeCoordinates(0, -2, 2), new CubeCoordinates(1, -3, 2), new CubeCoordinates(1, -4, 3), new CubeCoordinates(1, -5, 4) }, CubeFractionCoordinates.HexLinedraw(new CubeCoordinates(0, 0, 0), new CubeCoordinates(1, -5, 4))); }