ctac.MapService.GetTilesInRadius C# (CSharp) Method

GetTilesInRadius() public method

public GetTilesInRadius ( Vector2 center, int distance ) : Tile>.Dictionary
center Vector2
distance int
return Tile>.Dictionary
        public Dictionary<Vector2, Tile> GetTilesInRadius(Vector2 center, int distance)
        {
            return GetTilesInRadiusGeneric(center, distance, GetNeighbors, TileDistance);
        }

Usage Example

Esempio n. 1
0
        public void TilesInRadius()
        {
            var mapService = new MapService();
            mapService.mapModel = new MapModel()
            {
                name = "test map",
                maxPlayers = 0,
                root = null,
                tiles = CreateTiles(10, 10)
            };

            var tilesInRadius = mapService.GetTilesInRadius(new Vector2(2, 2), 2);
            var expectedTiles = new List<Vector2>()
            {
                new Vector2(2, 2),
                new Vector2(1, 2),
                new Vector2(0, 2),
                new Vector2(3, 2),
                new Vector2(4, 2),
                new Vector2(2, 3),
                new Vector2(2, 4),
                new Vector2(2, 1),
                new Vector2(2, 0),
                new Vector2(1, 1),
                new Vector2(3, 3),
                new Vector2(1, 3),
                new Vector2(3, 1),
            };

            CollectionAssert.AreEqual(
                tilesInRadius.Select(x => x.Key).OrderBy(v => v.x).ThenBy(v => v.y).ToList(),
                expectedTiles.OrderBy(v => v.x).ThenBy(v => v.y).ToList());
        }