|
|
@@ -83,6 +83,8 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
|
|
|
private int tryGetVersionCount;
|
|
|
public bool isQiangDownload;
|
|
|
+
|
|
|
+ public string ResVersion { get; private set; }
|
|
|
public override void Init()
|
|
|
{
|
|
|
InitField();
|
|
|
@@ -123,7 +125,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
#elif CN_I7GAME_ZHUAN
|
|
|
return "http://43.248.186.74:88/";
|
|
|
#elif CN_I7GAME_0_1
|
|
|
- return "http://weix.vvfyj.cn/";//return "http://103.239.245.64:88/"; //
|
|
|
+ return "http://103.239.245.64:88/"; // "http://weix.vvfyj.cn/";//
|
|
|
#elif GAME_DEBUG
|
|
|
return "http://110.40.223.119:88/";
|
|
|
#else
|
|
|
@@ -178,21 +180,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
{
|
|
|
if (!isInited)
|
|
|
{
|
|
|
- // //downloadBaseUrl = "http://cxzcdn.hkhappygame.com/";//"http://165.154.29.92:88/"; //http://cxzcdn.hkhappygame.com/res/
|
|
|
- // //downloadBaseUrl = "http://127.0.0.1:8060/";//"http://127.0.0.1:8060/";//
|
|
|
- //#if GAME_DEBUG
|
|
|
- // downloadBaseUrl = "http://110.40.223.119:88/";
|
|
|
- // downloadUrl = downloadBaseUrl + "res/TestServerRes/";
|
|
|
- //#else
|
|
|
- // downloadBaseUrl = "http://cxzcdn.hkhappygame.com/";
|
|
|
- //#if UNITY_IOS
|
|
|
- // downloadUrl = downloadBaseUrl + "res/IosRes/";
|
|
|
- //#else
|
|
|
- // downloadUrl = downloadBaseUrl + "res/AndroidNewRes/";
|
|
|
- //#endif
|
|
|
- //#endif
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
downloadUrl = GetDownloadUrl();
|
|
|
|
|
|
|
|
|
@@ -217,6 +205,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
totalSize = 0;
|
|
|
tryGetVersionCount = 0;
|
|
|
isQiangDownload = true;
|
|
|
+ ResVersion = "0.0.0.0";
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
@@ -273,38 +262,32 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
|
|
|
private void StartCheck()
|
|
|
{
|
|
|
- AssetDownloader.Instance.DownLoadFileByCoroutine(GetRemoteUrl(versionFileName), webRqst =>
|
|
|
+ ReadDataFromFile(versionFileName, lVdatas =>
|
|
|
{
|
|
|
- tryGetVersionCount++;
|
|
|
- if (webRqst == null)
|
|
|
+ if (lVdatas!= null)
|
|
|
{
|
|
|
- if (isQiangDownload)
|
|
|
- {
|
|
|
- CheckVersion();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- CheckFinish = true;
|
|
|
- DowmloadError = true;
|
|
|
- }
|
|
|
-
|
|
|
- return;
|
|
|
+ ResVersion = Encoding.UTF8.GetString(lVdatas);
|
|
|
}
|
|
|
- byte[] data = webRqst.downloadHandler.data;
|
|
|
-
|
|
|
- //versionData = new byte[data.Length];
|
|
|
- //data.CopyTo(versionData,0);
|
|
|
- string version = Encoding.UTF8.GetString(data);
|
|
|
- Debug.Log("服务器 version = " + version);
|
|
|
- versionData = version;
|
|
|
|
|
|
- ReadDataFromFile(versionFileName, lVdatas =>
|
|
|
+ AssetDownloader.Instance.DownLoadFileByCoroutine(GetRemoteUrl(versionFileName), webRqst =>
|
|
|
{
|
|
|
- //OnloadedVersion(lVdatas, version);
|
|
|
+ tryGetVersionCount++;
|
|
|
+ if (webRqst == null)
|
|
|
+ {
|
|
|
+ SetCheckFinishAddDownError();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ byte[] data = webRqst.downloadHandler.data;
|
|
|
+
|
|
|
+ string version = Encoding.UTF8.GetString(data);
|
|
|
+ Debug.Log("服务器 version = " + version);
|
|
|
+ versionData = version;
|
|
|
OnloadedLocalVersion(lVdatas, version);
|
|
|
- }, true);
|
|
|
- });
|
|
|
|
|
|
+ });
|
|
|
+
|
|
|
+ }, true);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void DownLoadRemoteRes()
|
|
|
@@ -368,7 +351,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
//AssetDownloader.Instance.CancelDownLoad = true;
|
|
|
return;
|
|
|
}
|
|
|
- //Debug.Log($"下载:{downloadingSize}/{task.CurDownloadEntity.Size} 进度:{task.CurLoadProgress*100}%");
|
|
|
+ Log($"下载:{task.downloadSize}/{task.CurDownloadEntity.Size} 进度:{task.CurLoadProgress*100}%");
|
|
|
//downloadingSize = task.downloadSize;
|
|
|
if (!downloadingList.ContainsKey(task.CurDownloadEntity))
|
|
|
{
|
|
|
@@ -379,12 +362,28 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
downloadingList[task.CurDownloadEntity] = task.downloadSize;
|
|
|
}
|
|
|
}
|
|
|
+ public void Log(string str)
|
|
|
+ {
|
|
|
+#if UNITY_EDITOR
|
|
|
+ Debug.Log(str);
|
|
|
+#endif
|
|
|
+ }
|
|
|
private void DownloadedCallback(DownloadTask task)
|
|
|
{
|
|
|
- if (task == null)
|
|
|
+ if (task == null || task.State == DownloadTaskState.Error)
|
|
|
{
|
|
|
//DowmloadError = true;
|
|
|
//AssetDownloader.Instance.CancelDownLoad = true;
|
|
|
+ if (task != null &&task.CurDownloadEntity.DownloadErrCount >= 3)
|
|
|
+ {
|
|
|
+ task.CurDownloadEntity.Url = GetDownloadUrl() + task.CurDownloadEntity.FullName;
|
|
|
+
|
|
|
+ Log("重新设置Url = " + task.CurDownloadEntity.Url);
|
|
|
+ }
|
|
|
+ else if (task != null && task.CurDownloadEntity.DownloadErrCount >= 10)
|
|
|
+ {
|
|
|
+ DowmloadError = true;
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -436,8 +435,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
{
|
|
|
if (webRqst == null)
|
|
|
{
|
|
|
- CheckFinish = true;
|
|
|
- DowmloadError = true;
|
|
|
+ SetCheckFinishAddDownError();
|
|
|
return;
|
|
|
}
|
|
|
byte[] data = webRqst.downloadHandler.data;
|
|
|
@@ -481,6 +479,19 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
CheckFinish = true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private void SetCheckFinishAddDownError()
|
|
|
+ {
|
|
|
+ if (isQiangDownload && tryGetVersionCount <= 10)
|
|
|
+ {
|
|
|
+ CheckVersion();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CheckFinish = true;
|
|
|
+ DowmloadError = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
private string GetLocalResPath()
|
|
|
{
|
|
|
string localPath = FileSystem.LocalDocumentPath;
|
|
|
@@ -508,7 +519,6 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
VersionCode lVersionCode = lVersionstr;//本地 local version
|
|
|
VersionCode RVersionCode = version;// 远端 version
|
|
|
|
|
|
@@ -529,7 +539,7 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
SVersionCode = SVersionstr;
|
|
|
|
|
|
VersionCode localMaxCode = lVersionCode > SVersionCode ? lVersionCode : SVersionCode;
|
|
|
-
|
|
|
+ ResVersion = localMaxCode;
|
|
|
if (localMaxCode == RVersionCode)
|
|
|
{
|
|
|
Debug.Log($"lVersionstr = {lVersionstr} SVersionstr = {SVersionstr} ===== version = {version} 不需要更新");
|
|
|
@@ -828,18 +838,18 @@ public class DownloadMgr : Singleton<DownloadMgr>
|
|
|
|
|
|
public void Free()
|
|
|
{
|
|
|
- //string savepath = localFilePath + downloadedAssetsFileName;
|
|
|
- //FileHelper.DeleteFile(savepath);
|
|
|
+
|
|
|
if (!DowmloadError)
|
|
|
{
|
|
|
- if( !string.IsNullOrEmpty(versionData))
|
|
|
+ if (!string.IsNullOrEmpty(versionData))
|
|
|
+ {
|
|
|
FileHelper.WirteStringToFile(localFilePath + versionFileName, versionData);
|
|
|
- //PlayerPrefs.SetString(versionFileName, versionData);
|
|
|
- //if(mainfestData!=null)
|
|
|
- // FileHelper.WirteToFile(LocalFilePath + assetsFileName, mainfestData.downloadHandler.data);
|
|
|
+ ResVersion = versionData;
|
|
|
+ }
|
|
|
+
|
|
|
if (remoteResList.Count > 0)
|
|
|
{
|
|
|
- //Debug.Log($" ============= remoteResList.Count = {remoteResList.Count}" );
|
|
|
+
|
|
|
CsvWriter<DownloadDataEntity> csvWriter = new CsvWriter<DownloadDataEntity>(LocalFilePath + assetsFileName, "", remoteResList, downloadFormatInfo);
|
|
|
csvWriter.Write();
|
|
|
}
|