public void Test() { var viewport = new MapViewport(RenderType.IsoDiamond) { SizeInTiles = new IntDimension(100, 100), Overdraw = new IntInsets(0, 0, 1, 0) }; var transformingMapViewport = new TransformingMapViewport(viewport) { RotationDeg = -90, Translation = new ContinuousViewportCoordinates(101, 15), CenterPoint = new ContinuousViewportCoordinates(2.5, 2.5) }; var x = 10.0; for (var y = 10.0; y < 13; y += 0.1) { var p = transformingMapViewport.MapPositionToScreenPosition(new DoublePoint(x, y)); Console.WriteLine($"{x}, {y} = {p}"); } }
public GameRenderingConfig(RenderType renderType, Range? wrapAroundX = null, Range? wrapAroundY = null, Range? limitX = null, Range? limitY = null) { WrapAroundX = wrapAroundX; WrapAroundY = wrapAroundY; LimitX = limitX; LimitY = limitY; RenderType = renderType; viewport = new MapViewport(RenderType) { SizeInTiles = new IntDimension(10, 10), Overdraw = new IntInsets(0, 0, 1, 0) }; transformingMapViewport = new TransformingMapViewport(viewport); transformingMapViewport.PropertyChanged += OnViewportPropertyChanged; navigator = CreateNavigator(renderType, true); NonWrapAroundNavigator = CreateNavigator(renderType, false); MatcherNavigator = CreateMatcherNavigator(); }