private void UpdateCanSpawn()
{
for (int x = 0; x < Width; x++)
{
for (int y = 0; y < Height; y++)
{
canSpawn[x, y] = true;
}
}
foreach (Point point in FiguresOnBoard.Where(pair => pair.Key is Hero).Select(pair => pair.Value))
{
for (int x = 0; x < Width; x++)
{
for (int y = 0; y < Height; y++)
{
canSpawn[x, y] = canSpawn[x, y] && IsStandable(x, y) &&
!IsThereLineOfSight(point, new Point(x, y), true);
}
}
}
boardChanged = false;
}