Commit 68b5410a authored by Unicorn369's avatar Unicorn369

Update

parent a3791faa
...@@ -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", "已下载,无需再次下载!");
......
...@@ -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
......
...@@ -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 TimeoutWebClient())
ServicePointManager.ServerCertificateValidationCallback = MyRemoteCertificateValidationCallback; {
//client.Headers.Add(HttpRequestHeader.Authorization, string.Concat("token ", RepoData.GetToken())); ServicePointManager.ServerCertificateValidationCallback = MyRemoteCertificateValidationCallback;
client.Headers.Add(HttpRequestHeader.ContentType,"application/x-www-form-urlencoded; charset=UTF-8");
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"); //authorization needed to acces github
client.DownloadFile(new Uri(url), filename+".tmp"); if (Path.GetExtension(filename).Contains("png"))
} {
flag = true; //client.Headers.Add(HttpRequestHeader.Authorization, string.Concat("token ", RepoData.GetToken()));
if(File.Exists(filename)) client.Timeout = 6500;
}
if (Path.GetExtension(filename).Contains("jpg"))
{
client.Timeout = 3500;
}
semaphore.WaitOne();
client.DownloadFile(new Uri(url), filename + ".tmp");
}
flag = true;
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment