private void SetTextStateToNearbyNodes(GridCell cell) { cell.SetCellState(CellState.Text); if (cell.NearbyBombsCount != 0) { return; } foreach (var nearbyCell in cell.EnumerateNearbyCells(true).Where(x => x.CellState == CellState.None)) { if (nearbyCell.NearbyBombsCount > 0) { nearbyCell.SetCellState(CellState.Text); } else { SetTextStateToNearbyNodes(nearbyCell); } } }