ctac.MapService.GetTilesInRadius C# (CSharp) Метод

GetTilesInRadius() публичный Метод

public GetTilesInRadius ( Vector2 center, int distance ) : Tile>.Dictionary
center Vector2
distance int
Результат Tile>.Dictionary
        public Dictionary<Vector2, Tile> GetTilesInRadius(Vector2 center, int distance)
        {
            return GetTilesInRadiusGeneric(center, distance, GetNeighbors, TileDistance);
        }

Usage Example

Пример #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());
        }