mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-28 19:48:47 +00:00
fix #387
This commit is contained in:
@@ -25,6 +25,9 @@ namespace YooAsset.Editor
|
|||||||
var buildParameters = buildParametersContext.Parameters;
|
var buildParameters = buildParametersContext.Parameters;
|
||||||
string packageOutputDirectory = buildParametersContext.GetPackageOutputDirectory();
|
string packageOutputDirectory = buildParametersContext.GetPackageOutputDirectory();
|
||||||
|
|
||||||
|
// 检测资源包哈希冲突
|
||||||
|
CheckBundleHashConflict(buildMapContext);
|
||||||
|
|
||||||
// 创建新补丁清单
|
// 创建新补丁清单
|
||||||
PackageManifest manifest = new PackageManifest();
|
PackageManifest manifest = new PackageManifest();
|
||||||
manifest.FileVersion = YooAssetSettings.ManifestFileVersion;
|
manifest.FileVersion = YooAssetSettings.ManifestFileVersion;
|
||||||
@@ -88,6 +91,27 @@ namespace YooAsset.Editor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检测资源包哈希冲突
|
||||||
|
/// </summary>
|
||||||
|
private void CheckBundleHashConflict(BuildMapContext buildMapContext)
|
||||||
|
{
|
||||||
|
// 说明:在特殊情况下,例如某些文件加密算法会导致加密后的文件哈希值冲突!
|
||||||
|
HashSet<string> guids = new HashSet<string>();
|
||||||
|
foreach (var bundleInfo in buildMapContext.Collection)
|
||||||
|
{
|
||||||
|
if (guids.Contains(bundleInfo.PackageFileHash))
|
||||||
|
{
|
||||||
|
string message = BuildLogger.GetErrorMessage(ErrorCode.BundleHashConflict, $"Bundle hash conflict : {bundleInfo.BundleName}");
|
||||||
|
throw new Exception(message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
guids.Add(bundleInfo.PackageFileHash);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取资源包的依赖集合
|
/// 获取资源包的依赖集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -39,5 +39,6 @@ namespace YooAsset.Editor
|
|||||||
// TaskCreateManifest
|
// TaskCreateManifest
|
||||||
NotFoundUnityBundleInBuildResult = 600,
|
NotFoundUnityBundleInBuildResult = 600,
|
||||||
FoundStrayBundle = 601,
|
FoundStrayBundle = 601,
|
||||||
|
BundleHashConflict = 602,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user