perf : optimize asset bundle builder

pull/353/head
何冠峰 2024-08-21 17:36:27 +08:00
parent fbec06fa81
commit e9b7336146
1 changed files with 6 additions and 10 deletions

View File

@ -56,6 +56,7 @@ namespace YooAsset.Editor
public string EncryptedFilePath { set; get; }
#endregion
private readonly HashSet<string> _assetPaths = new HashSet<string>(1000);
/// <summary>
/// 参与构建的资源列表
@ -84,9 +85,11 @@ namespace YooAsset.Editor
/// </summary>
public void PackAsset(BuildAssetInfo buildAsset)
{
if (IsContainsAsset(buildAsset.AssetInfo.AssetPath))
throw new System.Exception($"Should never get here ! Asset is existed : {buildAsset.AssetInfo.AssetPath}");
string assetPath = buildAsset.AssetInfo.AssetPath;
if (_assetPaths.Contains(assetPath))
throw new System.Exception($"Should never get here ! Asset is existed : {assetPath}");
_assetPaths.Add(assetPath);
MainAssets.Add(buildAsset);
}
@ -95,14 +98,7 @@ namespace YooAsset.Editor
/// </summary>
public bool IsContainsAsset(string assetPath)
{
foreach (var buildAsset in MainAssets)
{
if (buildAsset.AssetInfo.AssetPath == assetPath)
{
return true;
}
}
return false;
return _assetPaths.Contains(assetPath);
}
/// <summary>