From 1ab047b5fdd933c38ba0519ec2e83a44512ea8d7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 17:46:11 +0800
Subject: [PATCH] webgl代码合并 1
---
Main/System/AssetVersion/AssetVersionUtility.cs | 106 +++++++++++++++++++++++++++-------------------------
1 files changed, 55 insertions(+), 51 deletions(-)
diff --git a/Main/System/AssetVersion/AssetVersionUtility.cs b/Main/System/AssetVersion/AssetVersionUtility.cs
index 96dbc31..d46bce3 100644
--- a/Main/System/AssetVersion/AssetVersionUtility.cs
+++ b/Main/System/AssetVersion/AssetVersionUtility.cs
@@ -101,21 +101,25 @@
}
public static void GetAssetVersionFile()
{
- checkAssetCompleted = false;
- Debug.LogFormat("寮�濮嬭幏鍙栬祫婧愮増鏈枃浠讹細鏃堕棿 {0}", DateTime.Now);
- var assetVersionUrl = StringUtility.Concat(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/AssetsVersion.txt");
- assetVerUrl = assetVersionUrl;
- Debug.Log("http鍦板潃:assetVersionUrl " + assetVersionUrl);
- HttpRequest.Instance.UnityWebRequestGet(assetVersionUrl, 5, OnGetAssetVersionFile);
+ VersionConfig.GetAsync().ContinueWith(config =>
+ {
+ checkAssetCompleted = false;
+ Debug.LogFormat("寮�濮嬭幏鍙栬祫婧愮増鏈枃浠讹細鏃堕棿 {0}", DateTime.Now);
+ var assetVersionUrl = StringUtility.Concat(VersionUtility.Instance.versionInfo.GetResourcesURL(config.branch), Language.fixPath, "/AssetsVersion.txt");
+ assetVerUrl = assetVersionUrl;
+ Debug.Log("http鍦板潃:assetVersionUrl " + assetVersionUrl);
+ HttpRequest.Instance.UnityWebRequestGet(assetVersionUrl, 5, OnGetAssetVersionFile);
+ }).Forget();
+
}
- private static void OnGetAssetVersionFile(bool _ok, string _result)
+ private static async void OnGetAssetVersionFile(bool _ok, string _result)
{
Debug.LogFormat("鑾峰彇璧勬簮鐗堟湰鏂囦欢缁撴灉锛氭椂闂� {0}锛岀粨鏋� {1}, 鏂囦欢澶у皬 {2}", DateTime.Now, _ok, _result.Length);
if (_ok)
{
assetVersionsLocalMd5 = FileExtersion.GetStringMD5Hash(_result);
- var assetVersions = UpdateAssetVersions(_result);
+ var assetVersions = await UpdateAssetVersions(_result);
BeginCheckAssets();
}
else
@@ -132,48 +136,48 @@
if (InGameDownTestUtility.enable && !InGameDownTestUtility.isReadStreamingAssets)
checkStream = false;
#endif
+ BeginCheckAssetsAsync(checkStream).Forget();
+ }
- ThreadPool.QueueUserWorkItem(
- (object aaa) =>
+ private static async UniTaskVoid BeginCheckAssetsAsync(bool checkStream)
+ {
+ int count = 0;
+ foreach (var assetVersion in assetVersions.Values)
+ {
+ bool checkReuslt;
+ if (checkStream)
{
- foreach (var assetVersion in assetVersions.Values)
- {
- bool checkReuslt;
- if (checkStream)
- {
- AssetVersion localAssetVersion = null;
- localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
- checkReuslt = assetVersion.CheckLocalFileValid(localAssetVersion);
- }
- else
- {
- checkReuslt = assetVersion.CheckLocalFileValid(false);
- }
- if (!checkReuslt)
- {
- if (assetVersion.IsPriorAsset())
- {
- priorDownLoadAssetVersions.Add(assetVersion);
- }
- else
- {
- unpriorDownLoadAssetVersions.Add(assetVersion);
- }
-
- assetVersion.localValid = false;
- }
- else
- {
- assetVersion.localValid = true;
- }
- }
-
- m_PriorAssetDownLoadDone = priorDownLoadAssetVersions.Count <= 0;
- m_UnPriorAssetDownLoadDone = unpriorDownLoadAssetVersions.Count <= 0;
-
- checkAssetCompleted = true;
+ AssetVersion localAssetVersion = null;
+ localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
+ checkReuslt = assetVersion.CheckLocalFileValid(localAssetVersion);
}
- );
+ else
+ {
+ checkReuslt = assetVersion.CheckLocalFileValid(false);
+ }
+
+ if (!checkReuslt)
+ {
+ if (await assetVersion.IsPriorAsset())
+ priorDownLoadAssetVersions.Add(assetVersion);
+ else
+ unpriorDownLoadAssetVersions.Add(assetVersion);
+
+ assetVersion.localValid = false;
+ }
+ else
+ {
+ assetVersion.localValid = true;
+ }
+
+ count++;
+ if (count % 50 == 0)
+ await UniTask.Yield(); // 姣�50涓鍑轰竴甯э紝閬垮厤涓荤嚎绋嬪崱椤�
+ }
+
+ m_PriorAssetDownLoadDone = priorDownLoadAssetVersions.Count <= 0;
+ m_UnPriorAssetDownLoadDone = unpriorDownLoadAssetVersions.Count <= 0;
+ checkAssetCompleted = true;
}
public static void BeginDownLoadTask(bool _prior)
@@ -194,9 +198,9 @@
}
}
- public static Dictionary<string, AssetVersion> UpdateAssetVersions(string _assetVersionFile)
+ public async static UniTask<Dictionary<string, AssetVersion>> UpdateAssetVersions(string _assetVersionFile)
{
- InitPackageVersionInfo();
+ await InitPackageVersionInfo();
var lines = _assetVersionFile.Split(new string[] { FileExtersion.lineSplit }, StringSplitOptions.RemoveEmptyEntries);
assetVersions.Clear();
for (int i = 0; i < lines.Length; i++)
@@ -207,9 +211,9 @@
return assetVersions;
}
- static void InitPackageVersionInfo()
+ static async UniTask InitPackageVersionInfo()
{
- var text = Resources.Load<TextAsset>("AssetsVersionCmp");
+ var text = await Resources.LoadAsync<TextAsset>("AssetsVersionCmp") as TextAsset;
if (text != null)
{
var lines = text.text.Split(new string[] { FileExtersion.lineSplit }, StringSplitOptions.RemoveEmptyEntries);
--
Gitblit v1.8.0