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
}
};
}
}