合并2.x功能到1.5

1. 增加获取缓存文件信息的异步操作
2. 支持资源下载器合并
3. 新增资源导入器
This commit is contained in:
hevinci
2024-03-27 18:50:10 +08:00
parent 92ac301716
commit bb1c64e444
17 changed files with 387 additions and 33 deletions
@@ -1,5 +1,6 @@
using System;
using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
@@ -130,7 +131,7 @@ namespace YooAsset.Editor
{
var buildMode = buildParametersContext.Parameters.BuildMode;
if (buildMode == EBuildMode.DryRunBuild || buildMode == EBuildMode.SimulateBuild)
return "00000000000000000000000000000000"; //32位
return GetFilePathTempHash(filePath);
else
return HashUtility.FileMD5(filePath);
}
@@ -150,5 +151,32 @@ namespace YooAsset.Editor
else
return FileUtility.GetFileSize(filePath);
}
protected string GetFilePathTempHash(string filePath)
{
byte[] bytes = Encoding.UTF8.GetBytes(filePath);
return HashUtility.BytesMD5(bytes);
// 注意:在文件路径的哈希值冲突的情况下,可以使用下面的方法
//return $"{HashUtility.BytesMD5(bytes)}-{Guid.NewGuid():N}";
}
protected long GetBundleTempSize(BuildBundleInfo bundleInfo)
{
long tempSize = 0;
var assetPaths = bundleInfo.GetAllMainAssetPaths();
foreach (var assetPath in assetPaths)
{
long size = FileUtility.GetFileSize(assetPath);
tempSize += size;
}
if (tempSize == 0)
{
string message = $"Bundle temp size is zero, check bundle main asset list : {bundleInfo.BundleName}";
throw new Exception(message);
}
return tempSize;
}
}
}