public void WorldToCoordRotates()
        {
            OrientationManager.SetOrientation(Orientation.North);

            Vector2Int coords = new Vector2Int(13, -33);
            Vector2    world  = TileTransformer.CoordToWorld(coords) + new Vector2(Settings.TILE_WIDTH_HALF / 2f, 0f);

            Vector2Int invertedCoords = TileTransformer.WorldToCoord(world);

            OrientationManager.SetOrientation(Orientation.West);
            Assert.AreEqual(TileTransformer.InverseRotateCoord(invertedCoords), TileTransformer.WorldToCoord(world));
        }
        public void WorldToCoordRounds()
        {
            OrientationManager.SetOrientation(Orientation.North);

            Vector2Int coords1 = new Vector2Int(42, 0);
            Vector2Int coords2 = new Vector2Int(-11, -63);
            Vector2Int coords3 = new Vector2Int(-52, 53);

            Vector2 world1 = TileTransformer.CoordToWorld(coords1) +
                             new Vector2(Settings.TILE_WIDTH / 6f, Settings.TILE_HEIGHT / 9f);

            Vector2 world2 = TileTransformer.CoordToWorld(coords2) +
                             new Vector2(Settings.TILE_WIDTH / 3f, 0f);

            // This test adds a big offset so the coords change.
            Vector2 world3 = TileTransformer.CoordToWorld(coords3) +
                             new Vector2(Settings.TILE_WIDTH_HALF, Settings.TILE_HEIGHT * 0.9f);

            Assert.AreEqual(coords1, TileTransformer.WorldToCoord(world1));
            Assert.AreEqual(coords2, TileTransformer.WorldToCoord(world2));
            Assert.AreEqual(coords3, TileTransformer.WorldToCoord(world3) + Vector2Int.one);
        }