update resource package

pull/497/head
何冠峰 2025-02-27 17:01:26 +08:00
parent 522ddb5115
commit 7c561ce254
3 changed files with 22 additions and 37 deletions

View File

@ -21,6 +21,13 @@ namespace YooAsset
/// </summary>
public string Error { private set; get; }
/// <summary>
/// 资源对象
/// </summary>
internal PackageAsset Asset
{
get { return _packageAsset; }
}
/// <summary>
/// 唯一标识符

View File

@ -147,22 +147,6 @@ namespace YooAsset
return string.Empty;
}
/// <summary>
/// 获取主资源包
/// 注意:传入的资源路径一定合法有效!
/// </summary>
public PackageBundle GetMainPackageBundle(string assetPath)
{
if (AssetDic.TryGetValue(assetPath, out PackageAsset packageAsset))
{
return GetMainPackageBundle(packageAsset.BundleID);
}
else
{
throw new Exception("Should never get here !");
}
}
/// <summary>
/// 获取主资源包
/// 注意传入的资源包ID一定合法有效
@ -181,23 +165,17 @@ namespace YooAsset
}
/// <summary>
/// 获取资源依赖列表
/// 注意:传入的资源路径一定合法有效!
/// 获取主资源包
/// 注意:传入的资源对象一定合法有效!
/// </summary>
public PackageBundle[] GetAllDependencies(string assetPath)
public PackageBundle GetMainPackageBundle(PackageAsset packageAsset)
{
if (TryGetPackageAsset(assetPath, out PackageAsset packageAsset))
{
return GetAllDependencies(packageAsset);
}
else
{
throw new Exception("Should never get here !");
}
return GetMainPackageBundle(packageAsset.BundleID);
}
/// <summary>
/// 获取资源依赖列表
/// 注意:传入的资源对象一定合法有效!
/// </summary>
public PackageBundle[] GetAllDependencies(PackageAsset packageAsset)
{

View File

@ -167,20 +167,20 @@ namespace YooAsset
}
BundleInfo IBundleQuery.GetMainBundleInfo(AssetInfo assetInfo)
{
if (assetInfo.IsInvalid)
if (assetInfo == null || assetInfo.IsInvalid)
throw new Exception("Should never get here !");
// 注意:如果清单里未找到资源包会抛出异常!
var packageBundle = ActiveManifest.GetMainPackageBundle(assetInfo.AssetPath);
var packageBundle = ActiveManifest.GetMainPackageBundle(assetInfo.Asset);
return CreateBundleInfo(packageBundle);
}
BundleInfo[] IBundleQuery.GetDependBundleInfos(AssetInfo assetInfo)
{
if (assetInfo.IsInvalid)
if (assetInfo == null || assetInfo.IsInvalid)
throw new Exception("Should never get here !");
// 注意:如果清单里未找到资源包会抛出异常!
var depends = ActiveManifest.GetAllDependencies(assetInfo.AssetPath);
var depends = ActiveManifest.GetAllDependencies(assetInfo.Asset);
List<BundleInfo> result = new List<BundleInfo>(depends.Length);
foreach (var packageBundle in depends)
{
@ -197,20 +197,20 @@ namespace YooAsset
}
string IBundleQuery.GetMainBundleName(AssetInfo assetInfo)
{
if (assetInfo.IsInvalid)
if (assetInfo == null || assetInfo.IsInvalid)
throw new Exception("Should never get here !");
// 注意:如果清单里未找到资源包会抛出异常!
var packageBundle = ActiveManifest.GetMainPackageBundle(assetInfo.AssetPath);
var packageBundle = ActiveManifest.GetMainPackageBundle(assetInfo.Asset);
return packageBundle.BundleName;
}
string[] IBundleQuery.GetDependBundleNames(AssetInfo assetInfo)
{
if (assetInfo.IsInvalid)
if (assetInfo == null || assetInfo.IsInvalid)
throw new Exception("Should never get here !");
// 注意:如果清单里未找到资源包会抛出异常!
var depends = ActiveManifest.GetAllDependencies(assetInfo.AssetPath);
var depends = ActiveManifest.GetAllDependencies(assetInfo.Asset);
List<string> result = new List<string>(depends.Length);
foreach (var packageBundle in depends)
{
@ -319,12 +319,12 @@ namespace YooAsset
}
// 注意:如果清单里未找到资源包会抛出异常!
PackageBundle mainBundle = manifest.GetMainPackageBundle(assetInfo.AssetPath);
PackageBundle mainBundle = manifest.GetMainPackageBundle(assetInfo.Asset);
if (checkList.Contains(mainBundle) == false)
checkList.Add(mainBundle);
// 注意:如果清单里未找到资源包会抛出异常!
PackageBundle[] mainDependBundles = manifest.GetAllDependencies(assetInfo.AssetPath);
PackageBundle[] mainDependBundles = manifest.GetAllDependencies(assetInfo.Asset);
foreach (var dependBundle in mainDependBundles)
{
if (checkList.Contains(dependBundle) == false)