public FixedOffsetRotationGridNavigator(IMapNavigator <GridDirection> parent, int rotationSteps) { this.parent = parent ?? throw new ArgumentNullException(nameof(parent)); this.directions = new GridDirection[9]; for (var i = 0; i < directions.Length; i += 1) { directions[i] = RotationGridNavigator.RotateBy((GridDirection)i, rotationSteps); } }
public static void RotateMultiple() { RotationGridNavigator.RotateBy(GridDirection.None, 8).Should().Be(GridDirection.None); RotationGridNavigator.RotateBy(GridDirection.North, 8).Should().Be(GridDirection.North); RotationGridNavigator.RotateBy(GridDirection.None, 16).Should().Be(GridDirection.None); RotationGridNavigator.RotateBy(GridDirection.North, 16).Should().Be(GridDirection.North); RotationGridNavigator.RotateBy(GridDirection.None, 17).Should().Be(GridDirection.None); RotationGridNavigator.RotateBy(GridDirection.North, 17).Should().Be(GridDirection.NorthEast); }
public static void RotateCounterClockWise() { RotationGridNavigator.RotateBy(GridDirection.None, -1).Should().Be(GridDirection.None); RotationGridNavigator.RotateBy(GridDirection.North, -1).Should().Be(GridDirection.NorthWest); RotationGridNavigator.RotateBy(GridDirection.NorthWest, -1).Should().Be(GridDirection.West); RotationGridNavigator.RotateBy(GridDirection.West, -1).Should().Be(GridDirection.SouthWest); RotationGridNavigator.RotateBy(GridDirection.SouthWest, -1).Should().Be(GridDirection.South); RotationGridNavigator.RotateBy(GridDirection.South, -1).Should().Be(GridDirection.SouthEast); RotationGridNavigator.RotateBy(GridDirection.SouthEast, -1).Should().Be(GridDirection.East); RotationGridNavigator.RotateBy(GridDirection.East, -1).Should().Be(GridDirection.NorthEast); RotationGridNavigator.RotateBy(GridDirection.NorthEast, -1).Should().Be(GridDirection.North); }
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(); }
public static void RotateZero() { RotationGridNavigator.RotateBy(GridDirection.None, 0).Should().Be(GridDirection.None); RotationGridNavigator.RotateBy(GridDirection.North, 0).Should().Be(GridDirection.North); }