From bbb7a81a92b41da5ae49690492facde03799f156 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 07 五月 2026 18:00:06 +0800
Subject: [PATCH] webgl1
---
Main/ResModule/YooAssetService.cs | 88 +++++++++++++++++++++++++++++++++++++------
1 files changed, 75 insertions(+), 13 deletions(-)
diff --git a/Main/ResModule/YooAssetService.cs b/Main/ResModule/YooAssetService.cs
index 994ee58..b922e67 100644
--- a/Main/ResModule/YooAssetService.cs
+++ b/Main/ResModule/YooAssetService.cs
@@ -180,8 +180,8 @@
Debug.Log($"[YooAssetService] Initialized {_packages.Count}/{allPkgs.Length} packages with PlayMode={playMode}. " +
$"Active: [{string.Join(", ", _packages.Keys)}]");
-#if UNITY_WEBGL
- // WebGL 璇婃柇锛氳緭鍑烘瘡涓寘鐨� Manifest 鍜� Bundle 璇︽儏
+ // 璇婃柇锛氳緭鍑烘瘡涓寘鐨勭姸鎬侊紙Debug 鏋勫缓涓嬪缁堣緭鍑猴紝鏂逛究鎺掓煡 location is invalid 绛夐棶棰橈級
+#if UNITY_DEBUG || UNITY_EDITOR || DEVELOPMENT_BUILD
DiagDumpPackageStatus();
#endif
}
@@ -397,7 +397,24 @@
{
var packageName = YooAssetPackageConfig.GetPackageForLocation(location);
if (_packages.TryGetValue(packageName, out var package))
+ {
+ // 鍦ㄥ姞杞藉墠妫�鏌� location 鏄惁鍦ㄨ鍖呯殑 Manifest 閲岋紝鎻愬墠鏆撮湶闂
+ if (!package.CheckLocationValid(location))
+ {
+ // 鏀堕泦鎵�鏈夊寘鐨� CheckLocationValid 缁撴灉
+ var validIn = new System.Collections.Generic.List<string>();
+ foreach (var kv in _packages)
+ if (kv.Value.CheckLocationValid(location)) validIn.Add(kv.Key);
+
+ Debug.LogError(
+ $"[YooAssetService][鈽匢NVALID-LOCATION鈽匽 location='{location}' 璺敱鍒板寘='{packageName}'" +
+ $" 浣� CheckLocationValid=False锛乗n" +
+ $" 鈫� 鍖呯姸鎬�: {package.InitializeStatus}\n" +
+ $" 鈫� 璇ヨ祫婧愬湪浠ヤ笅鍖呬腑鏈夋晥: [{(validIn.Count > 0 ? string.Join(", ", validIn) : "鏃�")}]\n" +
+ $" 鈫� 鍙兘鍘熷洜: 鈶犲寘鏈噸鏂版墦鍖呭鑷� Manifest 缂哄皯姝よ祫婧� 鈶¤祫婧愯矾寰勬嫾鍐欓敊璇� 鈶㈠寘鍒濆鍖栧け璐� Manifest 涓虹┖");
+ }
return package;
+ }
// 璺敱鍒扮殑鍖呭皻鏈垵濮嬪寲锛屽洖閫�鍒伴粯璁ゅ寘 鈥� 鍙戝嚭鏄庣‘璀﹀憡
Debug.LogWarning($"[YooAssetService] Package '{packageName}' not available for location '{location}'. " +
@@ -857,31 +874,76 @@
return package.LoadAllAssetsSync<T>(location);
}
-#if UNITY_WEBGL
+#if UNITY_WEBGL || UNITY_DEBUG || UNITY_EDITOR || DEVELOPMENT_BUILD
/// <summary>
- /// WebGL 璇婃柇锛氳緭鍑烘瘡涓� YooAsset 鍖呯殑鍒濆鍖栫姸鎬佸拰璧勬簮鏁伴噺銆�
+ /// 璇婃柇锛氳緭鍑烘瘡涓� YooAsset 鍖呯殑鍒濆鍖栫姸鎬佸拰璧勬簮鏁伴噺銆�
/// </summary>
private void DiagDumpPackageStatus()
{
var sb = new System.Text.StringBuilder();
- sb.AppendLine("[YooAssetService][WebGL-Diag] Package status dump:");
+ sb.AppendLine("[YooAssetService][Diag] Package status dump:");
foreach (var kv in _packages)
{
var pkg = kv.Value;
var status = pkg.InitializeStatus;
- // 灏濊瘯鑾峰彇娓呭崟涓殑璧勬簮淇℃伅鏁伴噺
- int assetCount = 0;
+ int assetTotalCount = -1;
+ int bundleTotalCount = -1;
+ string pkgVersion = "?";
try
{
- // GetAssetInfos 杩斿洖璇ュ寘鎵�鏈夎祫婧愪俊鎭�
- var infos = pkg.GetAssetInfos(string.Empty);
- assetCount = infos != null ? infos.Length : -1;
+ var details = pkg.GetPackageDetails();
+ assetTotalCount = details.AssetTotalCount;
+ bundleTotalCount = details.BundleTotalCount;
+ pkgVersion = details.PackageVersion ?? "null";
}
- catch
+ catch { }
+ sb.AppendLine($" [{kv.Key}] status={status}, assets={assetTotalCount}, bundles={bundleTotalCount}, version={pkgVersion}");
+ }
+ Debug.Log(sb.ToString());
+ }
+
+ /// <summary>
+ /// 璇婃柇鎸囧畾 location 鍦ㄥ摢涓寘閲屻�佹槸鍚﹁兘鎵惧埌銆�
+ /// 璋冪敤锛歒ooAssetService.Instance.DiagCheckLocation("Assets/ResourcesOut/Config/Foo.txt")
+ /// </summary>
+ public void DiagCheckLocation(string location)
+ {
+ var sb = new System.Text.StringBuilder();
+ sb.AppendLine($"[DiagCheckLocation] location='{location}'");
+ string routedPkg = YooAssetPackageConfig.GetPackageForLocation(location);
+ sb.AppendLine($" 璺敱鍒板寘: '{routedPkg}'");
+
+ foreach (var kv in _packages)
+ {
+ var pkg = kv.Value;
+ bool valid = pkg.CheckLocationValid(location);
+ sb.AppendLine($" [{kv.Key}] CheckLocationValid={valid}, InitStatus={pkg.InitializeStatus}");
+ }
+ Debug.Log(sb.ToString());
+ }
+
+ /// <summary>
+ /// 鎵撳嵃鎵�鏈夊凡鍒濆鍖栧寘鐨勮祫婧愭暟鍜岀増鏈紙鎺掓煡 Manifest 鏈姞杞介棶棰橈級銆�
+ /// </summary>
+ public void DiagDumpAllPackages()
+ {
+ var sb = new System.Text.StringBuilder();
+ sb.AppendLine("[DiagDumpAllPackages]");
+ foreach (var kv in _packages)
+ {
+ var pkg = kv.Value;
+ int assetTotalCount = -1;
+ int bundleTotalCount = -1;
+ string pkgVersion = "?";
+ try
{
- assetCount = -1;
+ var details = pkg.GetPackageDetails();
+ assetTotalCount = details.AssetTotalCount;
+ bundleTotalCount = details.BundleTotalCount;
+ pkgVersion = details.PackageVersion ?? "null";
}
- sb.AppendLine($" [{kv.Key}] status={status}, assetInfoCount={assetCount}");
+ catch { }
+ sb.AppendLine($" [{kv.Key}] status={pkg.InitializeStatus}, assets={assetTotalCount}, bundles={bundleTotalCount}, version={pkgVersion}");
}
Debug.Log(sb.ToString());
}
--
Gitblit v1.8.0