Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xu Chenxi
ygopro2
Commits
68b5410a
Commit
68b5410a
authored
Mar 13, 2019
by
Unicorn369
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update
parent
a3791faa
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
376 additions
and
335 deletions
+376
-335
Assets/SibylSystem/Menu/Menu.cs
Assets/SibylSystem/Menu/Menu.cs
+7
-5
Assets/SibylSystem/Program.cs
Assets/SibylSystem/Program.cs
+1
-0
Assets/SibylSystem/ResourceManagers/GameTextureManager.cs
Assets/SibylSystem/ResourceManagers/GameTextureManager.cs
+319
-316
Assets/SibylSystem/ResourceManagers/HttpDldFile.cs
Assets/SibylSystem/ResourceManagers/HttpDldFile.cs
+49
-14
No files found.
Assets/SibylSystem/Menu/Menu.cs
View file @
68b5410a
...
@@ -141,14 +141,16 @@ public class Menu : WindowServantSP
...
@@ -141,14 +141,16 @@ public class Menu : WindowServantSP
void
onClickDownload
()
void
onClickDownload
()
{
{
#if UNITY_EDITOR || UNITY_STANDALONE_WIN //编译器、Windows
#if UNITY_EDITOR || UNITY_STANDALONE_WIN //编译器、Windows
Application
.
OpenURL
(
"https://github.com/Unicorn369/pro2_android_closeup/releases/
download/1.0/closeup_version1.0.zip
"
);
Application
.
OpenURL
(
"https://github.com/Unicorn369/pro2_android_closeup/releases/
tag/1.0
"
);
#elif UNITY_ANDROID //Android
#elif UNITY_ANDROID //Android
AndroidJavaObject
jo
=
new
AndroidJavaObject
(
"cn.unicorn369.library.API"
);
AndroidJavaObject
jo
=
new
AndroidJavaObject
(
"cn.unicorn369.library.API"
);
if
(!
File
.
Exists
(
"updates/closeup_version1.0.txt"
))
{
//用于检查更新
if
(!
File
.
Exists
(
"updates/closeup_version1.1.txt"
))
{
//用于检查更新
if
(
File
.
Exists
(
"closeup_version1.0.zip"
))
{
//如果有则直接解压
if
(
File
.
Exists
(
"closeup_version1.1.zip"
))
{
//如果有则直接解压
jo
.
Call
(
"doExtractZipFile"
,
"closeup_version1.0.zip"
,
Program
.
ANDROID_GAME_PATH
);
jo
.
Call
(
"doExtractZipFile"
,
"closeup_version1.1.zip"
,
Program
.
ANDROID_GAME_PATH
);
}
else
if
(
File
.
Exists
(
"updates/closeup_version1.0.txt"
)){
//如果有则下载更新包
jo
.
Call
(
"doDownloadZipFile"
,
"https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/up_closeup_version1.1.zip"
);
}
else
{
//否则下载并解压,锁定目录:/ygocore
}
else
{
//否则下载并解压,锁定目录:/ygocore
jo
.
Call
(
"doDownloadZipFile"
,
"https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/closeup_version1.
0
.zip"
);
jo
.
Call
(
"doDownloadZipFile"
,
"https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/closeup_version1.
1
.zip"
);
}
}
}
else
{
}
else
{
jo
.
Call
(
"showToast"
,
"已下载,无需再次下载!"
);
jo
.
Call
(
"showToast"
,
"已下载,无需再次下载!"
);
...
...
Assets/SibylSystem/Program.cs
View file @
68b5410a
...
@@ -379,6 +379,7 @@ public class Program : MonoBehaviour
...
@@ -379,6 +379,7 @@ public class Program : MonoBehaviour
File
.
Create
(
"updates/image_version1.1.txt"
);
File
.
Create
(
"updates/image_version1.1.txt"
);
}
else
{
}
else
{
jo
.
Call
(
"showToast"
,
"没有发现卡图包,是否未安装YGOMobile"
);
jo
.
Call
(
"showToast"
,
"没有发现卡图包,是否未安装YGOMobile"
);
Application
.
OpenURL
(
"https://www.taptap.com/app/37972"
);
}
}
}
}
#endif
#endif
...
...
Assets/SibylSystem/ResourceManagers/GameTextureManager.cs
View file @
68b5410a
...
@@ -25,6 +25,7 @@ public class GameTextureManager
...
@@ -25,6 +25,7 @@ public class GameTextureManager
static
HttpDldFile
df
=
new
HttpDldFile
();
static
HttpDldFile
df
=
new
HttpDldFile
();
private
static
readonly
Semaphore
_sem
=
new
Semaphore
(
30
,
30
);
public
class
BitmapHelper
public
class
BitmapHelper
{
{
public
System
.
Drawing
.
Color
[,]
colors
=
null
;
public
System
.
Drawing
.
Color
[,]
colors
=
null
;
...
@@ -207,12 +208,12 @@ public class GameTextureManager
...
@@ -207,12 +208,12 @@ public class GameTextureManager
while
(
waitLoadStack
.
Count
>
0
)
while
(
waitLoadStack
.
Count
>
0
)
{
{
thu
++;
thu
++;
if
(
thu
==
10
)
if
(
thu
==
10
)
{
{
Thread
.
Sleep
(
50
);
Thread
.
Sleep
(
50
);
thu
=
0
;
thu
=
0
;
}
}
if
(
bLock
==
false
)
if
(
bLock
==
false
)
{
{
PictureResource
pic
;
PictureResource
pic
;
...
@@ -227,36 +228,18 @@ public class GameTextureManager
...
@@ -227,36 +228,18 @@ public class GameTextureManager
}
}
if
(
pic
.
type
==
GameTextureType
.
card_feature
)
if
(
pic
.
type
==
GameTextureType
.
card_feature
)
{
{
try
_sem
.
WaitOne
();
{
new
Thread
(()
=>
ProcessingCardFeature
(
pic
)).
Start
();
ProcessingCardFeature
(
pic
);
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 1"
+
e
.
ToString
());
}
}
}
if
(
pic
.
type
==
GameTextureType
.
card_picture
)
if
(
pic
.
type
==
GameTextureType
.
card_picture
)
{
{
try
_sem
.
WaitOne
();
{
new
Thread
(()
=>
ProcessingCardPicture
(
pic
)).
Start
();
ProcessingCardPicture
(
pic
);
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 2"
+
e
.
ToString
());
}
}
}
if
(
pic
.
type
==
GameTextureType
.
card_verticle_drawing
)
if
(
pic
.
type
==
GameTextureType
.
card_verticle_drawing
)
{
{
try
_sem
.
WaitOne
();
{
new
Thread
(()
=>
ProcessingVerticleDrawing
(
pic
)).
Start
();
ProcessingVerticleDrawing
(
pic
);
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 3"
+
e
.
ToString
());
}
}
}
}
}
}
}
...
@@ -269,11 +252,13 @@ public class GameTextureManager
...
@@ -269,11 +252,13 @@ public class GameTextureManager
}
}
private
static
void
ProcessingCardFeature
(
PictureResource
pic
)
private
static
void
ProcessingCardFeature
(
PictureResource
pic
)
{
try
{
{
if
(
File
.
Exists
(
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
))
if
(
File
.
Exists
(
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
))
{
{
string
path
=
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
;
string
path
=
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
;
#
if
UNITY_EDITOR
||
UNITY_STANDALONE_WIN
//编译器、Windows
#if UNITY_EDITOR || UNITY_STANDALONE_WIN //编译器、Windows
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
int
left
;
int
left
;
int
right
;
int
right
;
...
@@ -308,7 +293,7 @@ public class GameTextureManager
...
@@ -308,7 +293,7 @@ public class GameTextureManager
* 以上处理其他平台无法正常使用
* 以上处理其他平台无法正常使用
* 暂时只能直接贴图,以后再处理
* 暂时只能直接贴图,以后再处理
*/
*/
#
elif
UNITY_ANDROID
||
UNITY_IPHONE
//Android、iPhone
#elif UNITY_ANDROID || UNITY_IPHONE //Android、iPhone
byte
[]
data
;
byte
[]
data
;
using
(
FileStream
file
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
))
using
(
FileStream
file
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
))
{
{
...
@@ -317,7 +302,7 @@ public class GameTextureManager
...
@@ -317,7 +302,7 @@ public class GameTextureManager
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
}
}
pic
.
data
=
data
;
pic
.
data
=
data
;
#
endif
#endif
if
(!
loadedList
.
ContainsKey
(
hashPic
(
pic
.
code
,
pic
.
type
)))
if
(!
loadedList
.
ContainsKey
(
hashPic
(
pic
.
code
,
pic
.
type
)))
{
{
...
@@ -402,6 +387,15 @@ public class GameTextureManager
...
@@ -402,6 +387,15 @@ public class GameTextureManager
}
}
}
}
}
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 1"
+
e
.
ToString
());
}
finally
{
_sem
.
Release
();
}
}
private
static
void
caculateK
(
PictureResource
pic
)
private
static
void
caculateK
(
PictureResource
pic
)
{
{
...
@@ -439,7 +433,7 @@ public class GameTextureManager
...
@@ -439,7 +433,7 @@ public class GameTextureManager
int
width
=
pic
.
hashed_data
.
GetLength
(
0
);
int
width
=
pic
.
hashed_data
.
GetLength
(
0
);
int
height
=
pic
.
hashed_data
.
GetLength
(
1
);
int
height
=
pic
.
hashed_data
.
GetLength
(
1
);
int
h
=
0
;
int
h
=
0
;
for
(
h
=
height
-
1
;
h
>
0
;
h
--)
for
(
h
=
height
-
1
;
h
>
0
;
h
--)
{
{
int
all
=
0
;
int
all
=
0
;
for
(
int
w
=
0
;
w
<
width
;
w
++)
for
(
int
w
=
0
;
w
<
width
;
w
++)
...
@@ -454,7 +448,7 @@ public class GameTextureManager
...
@@ -454,7 +448,7 @@ public class GameTextureManager
break
;
break
;
}
}
}
}
pic
.
k
=((
float
)
h
)
/
((
float
)
height
);
pic
.
k
=
((
float
)
h
)
/
((
float
)
height
);
if
(
pic
.
k
>
1
)
if
(
pic
.
k
>
1
)
{
{
pic
.
k
=
1f
;
pic
.
k
=
1f
;
...
@@ -465,7 +459,7 @@ public class GameTextureManager
...
@@ -465,7 +459,7 @@ public class GameTextureManager
}
}
}
}
private
static
float
[,,]
getCuttedPic
(
string
path
,
bool
pCard
,
bool
EightEdition
)
private
static
float
[,,]
getCuttedPic
(
string
path
,
bool
pCard
,
bool
EightEdition
)
{
{
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
int
left
=
0
,
top
=
0
,
right
=
bitmap
.
colors
.
GetLength
(
0
),
buttom
=
bitmap
.
colors
.
GetLength
(
1
);
int
left
=
0
,
top
=
0
,
right
=
bitmap
.
colors
.
GetLength
(
0
),
buttom
=
bitmap
.
colors
.
GetLength
(
1
);
...
@@ -593,11 +587,13 @@ public class GameTextureManager
...
@@ -593,11 +587,13 @@ public class GameTextureManager
}
}
private
static
void
ProcessingVerticleDrawing
(
PictureResource
pic
)
private
static
void
ProcessingVerticleDrawing
(
PictureResource
pic
)
{
try
{
{
string
path
=
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
;
string
path
=
"picture/closeup/"
+
pic
.
code
.
ToString
()
+
".png"
;
if
(!
File
.
Exists
(
path
))
if
(!
File
.
Exists
(
path
))
{
{
#
if
UNITY_EDITOR
||
UNITY_STANDALONE_WIN
//编译器、Windows
#if UNITY_EDITOR || UNITY_STANDALONE_WIN //编译器、Windows
path
=
"picture/card/"
+
pic
.
code
.
ToString
()
+
".png"
;
path
=
"picture/card/"
+
pic
.
code
.
ToString
()
+
".png"
;
if
(!
File
.
Exists
(
path
))
if
(!
File
.
Exists
(
path
))
{
{
...
@@ -625,9 +621,9 @@ public class GameTextureManager
...
@@ -625,9 +621,9 @@ public class GameTextureManager
}
}
if
(!
File
.
Exists
(
path
))
if
(!
File
.
Exists
(
path
))
{
{
return
;
path
=
"picture/null.png"
;
}
}
pic
.
hashed_data
=
getCuttedPic
(
path
,
pic
.
pCard
,
Iam8
);
pic
.
hashed_data
=
getCuttedPic
(
path
,
pic
.
pCard
,
Iam8
);
softVtype
(
pic
,
0.5f
);
softVtype
(
pic
,
0.5f
);
pic
.
k
=
1
;
pic
.
k
=
1
;
//pic.autoMade = true;
//pic.autoMade = true;
...
@@ -636,7 +632,7 @@ public class GameTextureManager
...
@@ -636,7 +632,7 @@ public class GameTextureManager
* 以上处理其他平台无法正常使用
* 以上处理其他平台无法正常使用
* 暂时只能直接贴图,以后再处理
* 暂时只能直接贴图,以后再处理
*/
*/
#
elif
UNITY_ANDROID
||
UNITY_IPHONE
//Android、iPhone
#elif UNITY_ANDROID || UNITY_IPHONE //Android、iPhone
path
=
"picture/null.png"
;
path
=
"picture/null.png"
;
byte
[]
data
;
byte
[]
data
;
...
@@ -647,24 +643,11 @@ public class GameTextureManager
...
@@ -647,24 +643,11 @@ public class GameTextureManager
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
}
}
pic
.
data
=
data
;
pic
.
data
=
data
;
//#elif UNITY_IPHONE //iPhone Test (Android not support)
#endif
//path = Application.streamingAssetsPath + "/closeup/" + pic.code.ToString() + ".png";
//if (File.Exists(path))
//{
// www = new WWW(path);
// byte[] data = www.bytes;
// pic.data = data;
//} else {
// path = Application.streamingAssetsPath + "/null.png"
// www = new WWW(path);
// byte[] data = www.bytes;
// pic.data = data;
//}
#
endif
}
}
else
else
{
{
#
if
UNITY_EDITOR
||
UNITY_STANDALONE_WIN
//编译器、Windows
#if UNITY_EDITOR || UNITY_STANDALONE_WIN //编译器、Windows
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
BitmapHelper
bitmap
=
new
BitmapHelper
(
path
);
int
left
;
int
left
;
int
right
;
int
right
;
...
@@ -713,7 +696,7 @@ public class GameTextureManager
...
@@ -713,7 +696,7 @@ public class GameTextureManager
}
}
if
(
wholeUNalpha
>=
((
width
+
height
)
*
0.5f
*
0.12f
))
if
(
wholeUNalpha
>=
((
width
+
height
)
*
0.5f
*
0.12f
))
{
{
softVtype
(
pic
,
0.7f
);
softVtype
(
pic
,
0.7f
);
}
}
caculateK
(
pic
);
caculateK
(
pic
);
...
@@ -721,7 +704,7 @@ public class GameTextureManager
...
@@ -721,7 +704,7 @@ public class GameTextureManager
* 以上处理其他平台无法正常使用
* 以上处理其他平台无法正常使用
* 暂时只能直接贴图,以后再处理
* 暂时只能直接贴图,以后再处理
*/
*/
#
elif
UNITY_ANDROID
||
UNITY_IPHONE
//Android、iPhone
#elif UNITY_ANDROID || UNITY_IPHONE //Android、iPhone
byte
[]
data
;
byte
[]
data
;
using
(
FileStream
file
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
))
using
(
FileStream
file
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
))
{
{
...
@@ -730,7 +713,7 @@ public class GameTextureManager
...
@@ -730,7 +713,7 @@ public class GameTextureManager
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
file
.
Read
(
data
,
0
,
(
int
)
file
.
Length
);
}
}
pic
.
data
=
data
;
pic
.
data
=
data
;
#
endif
#endif
}
}
if
(!
loadedList
.
ContainsKey
(
hashPic
(
pic
.
code
,
pic
.
type
)))
if
(!
loadedList
.
ContainsKey
(
hashPic
(
pic
.
code
,
pic
.
type
)))
...
@@ -738,6 +721,15 @@ public class GameTextureManager
...
@@ -738,6 +721,15 @@ public class GameTextureManager
loadedList
.
Add
(
hashPic
(
pic
.
code
,
pic
.
type
),
pic
);
loadedList
.
Add
(
hashPic
(
pic
.
code
,
pic
.
type
),
pic
);
}
}
}
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 3"
+
e
.
ToString
());
}
finally
{
_sem
.
Release
();
}
}
private
static
void
softVtype
(
PictureResource
pic
,
float
si
)
private
static
void
softVtype
(
PictureResource
pic
,
float
si
)
{
{
...
@@ -790,6 +782,8 @@ public class GameTextureManager
...
@@ -790,6 +782,8 @@ public class GameTextureManager
}
}
private
static
void
ProcessingCardPicture
(
PictureResource
pic
)
private
static
void
ProcessingCardPicture
(
PictureResource
pic
)
{
try
{
{
string
path
=
"picture/card/"
+
pic
.
code
.
ToString
()
+
".png"
;
string
path
=
"picture/card/"
+
pic
.
code
.
ToString
()
+
".png"
;
if
(!
File
.
Exists
(
path
))
if
(!
File
.
Exists
(
path
))
...
@@ -811,7 +805,7 @@ public class GameTextureManager
...
@@ -811,7 +805,7 @@ public class GameTextureManager
if
(!
File
.
Exists
(
path
)
&&
pic
.
code
!=
0
&&
Program
.
DownloadImage
)
if
(!
File
.
Exists
(
path
)
&&
pic
.
code
!=
0
&&
Program
.
DownloadImage
)
{
{
//YGOMobile (177x254)
//YGOMobile (177x254)
df
.
Download
(
"http://download
.ygo2019.xyz/ygopro/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
,
"expansions/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
);
df
.
Download
(
"http://api
.ygo2019.xyz/ygopro/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
,
"expansions/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
);
path
=
"expansions/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
;
path
=
"expansions/pics/"
+
pic
.
code
.
ToString
()
+
".jpg"
;
}
}
if
(!
File
.
Exists
(
path
)
&&
pic
.
code
!=
0
&&
Program
.
DownloadImage
)
if
(!
File
.
Exists
(
path
)
&&
pic
.
code
!=
0
&&
Program
.
DownloadImage
)
...
@@ -851,6 +845,15 @@ public class GameTextureManager
...
@@ -851,6 +845,15 @@ public class GameTextureManager
}
}
}
}
}
}
catch
(
Exception
e
)
{
Debug
.
Log
(
"e 2"
+
e
.
ToString
());
}
finally
{
_sem
.
Release
();
}
}
private
static
UInt64
hashPic
(
long
code
,
GameTextureType
type
)
private
static
UInt64
hashPic
(
long
code
,
GameTextureType
type
)
{
{
...
@@ -932,7 +935,7 @@ public class GameTextureManager
...
@@ -932,7 +935,7 @@ public class GameTextureManager
return
ret
;
return
ret
;
}
}
public
static
bool
uiLoaded
=
false
;
public
static
bool
uiLoaded
=
false
;
public
static
Texture2D
get
(
string
name
)
public
static
Texture2D
get
(
string
name
)
{
{
...
...
Assets/SibylSystem/ResourceManagers/HttpDldFile.cs
View file @
68b5410a
...
@@ -10,25 +10,36 @@ using UnityEngine;
...
@@ -10,25 +10,36 @@ using UnityEngine;
public
class
HttpDldFile
public
class
HttpDldFile
{
{
private
readonly
System
.
Threading
.
Semaphore
semaphore
=
new
System
.
Threading
.
Semaphore
(
6
,
6
);
public
bool
Download
(
string
url
,
string
filename
)
public
bool
Download
(
string
url
,
string
filename
)
{
{
bool
flag
=
false
;
bool
flag
=
false
;
try
try
{
{
if
(!
Directory
.
Exists
(
Path
.
GetDirectoryName
(
filename
))){
if
(!
Directory
.
Exists
(
Path
.
GetDirectoryName
(
filename
)))
{
Directory
.
CreateDirectory
(
Path
.
GetDirectoryName
(
filename
));
Directory
.
CreateDirectory
(
Path
.
GetDirectoryName
(
filename
));
}
}
using
(
var
client
=
new
WebClient
())
using
(
var
client
=
new
Timeout
WebClient
())
{
{
ServicePointManager
.
ServerCertificateValidationCallback
=
MyRemoteCertificateValidationCallback
;
ServicePointManager
.
ServerCertificateValidationCallback
=
MyRemoteCertificateValidationCallback
;
//authorization needed to acces github
if
(
Path
.
GetExtension
(
filename
).
Contains
(
"png"
))
{
//client.Headers.Add(HttpRequestHeader.Authorization, string.Concat("token ", RepoData.GetToken()));
//client.Headers.Add(HttpRequestHeader.Authorization, string.Concat("token ", RepoData.GetToken()));
client
.
Headers
.
Add
(
HttpRequestHeader
.
ContentType
,
"application/x-www-form-urlencoded; charset=UTF-8"
);
client
.
Timeout
=
6500
;
client
.
Headers
.
Add
(
HttpRequestHeader
.
UserAgent
,
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063"
);
}
client
.
DownloadFile
(
new
Uri
(
url
),
filename
+
".tmp"
);
if
(
Path
.
GetExtension
(
filename
).
Contains
(
"jpg"
))
{
client
.
Timeout
=
3500
;
}
semaphore
.
WaitOne
();
client
.
DownloadFile
(
new
Uri
(
url
),
filename
+
".tmp"
);
}
}
flag
=
true
;
flag
=
true
;
if
(
File
.
Exists
(
filename
))
if
(
File
.
Exists
(
filename
))
{
{
File
.
Delete
(
filename
);
File
.
Delete
(
filename
);
}
}
...
@@ -38,6 +49,10 @@ public class HttpDldFile
...
@@ -38,6 +49,10 @@ public class HttpDldFile
{
{
flag
=
false
;
flag
=
false
;
}
}
finally
{
semaphore
.
Release
();
}
return
flag
;
return
flag
;
}
}
public
static
bool
MyRemoteCertificateValidationCallback
(
System
.
Object
sender
,
public
static
bool
MyRemoteCertificateValidationCallback
(
System
.
Object
sender
,
...
@@ -68,5 +83,25 @@ public class HttpDldFile
...
@@ -68,5 +83,25 @@ public class HttpDldFile
}
}
return
isOk
;
return
isOk
;
}
}
}
public
class
TimeoutWebClient
:
WebClient
{
public
int
Timeout
{
get
;
set
;
}
public
TimeoutWebClient
()
{
Timeout
=
10000
;
}
public
TimeoutWebClient
(
int
timeout
)
{
Timeout
=
timeout
;
}
protected
override
WebRequest
GetWebRequest
(
Uri
address
)
{
WebRequest
request
=
base
.
GetWebRequest
(
address
);
request
.
Timeout
=
Timeout
;
return
request
;
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment