public GetNeigbourTiles ( Point position, |
||
position | Point | |
map | ||
return | IEnumerable |
private TileInfo <StairsTileData> FindStairs(Point pos, int level) { var map = builder.Data.Maps[level]; var stairs = map[pos.X, pos.Y]; if (stairs.GetType() == typeof(StairsTileData)) { return(new TileInfo <StairsTileData> { Position = pos, Tile = (StairsTileData)stairs }); } else//TODO shouldnt be necesarry { var k = builder.GetNeigbourTiles(pos, map); var res = k.FirstOrDefault(x => x.Tile.GetType() == typeof(Stairs)); if (res.Tile == null) { throw new InvalidOperationException("Invalid CurrentMap format"); } else { return new TileInfo <StairsTileData> { Position = res.Position, Tile = (StairsTileData)res.Tile } }; } }