yoo2.2,9
This commit is contained in:
Alex-Rachel
2025-01-25 13:46:17 +08:00
parent 634a392a1f
commit 6166fd24c6
584 changed files with 15684 additions and 11714 deletions

View File

@@ -37,6 +37,11 @@ namespace YooAsset
/// </summary>
public int OutputNameStyle;
/// <summary>
/// 构建资源包类型
/// </summary>
public int BuildBundleType;
/// <summary>
/// 构建管线名称
/// </summary>
@@ -52,6 +57,11 @@ namespace YooAsset
/// </summary>
public string PackageVersion;
/// <summary>
/// 资源包裹的备注信息
/// </summary>
public string PackageNote;
/// <summary>
/// 资源列表(主动收集的资源列表)
/// </summary>
@@ -62,25 +72,6 @@ namespace YooAsset
/// </summary>
public List<PackageBundle> BundleList = new List<PackageBundle>();
/// <summary>
/// 资源包集合提供BundleName获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic1;
/// <summary>
/// 资源包集合提供FileName获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic2;
/// <summary>
/// 资源包集合提供CacheGUID获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic3;
/// <summary>
/// 资源映射集合提供AssetPath获取PackageAsset
/// </summary>
@@ -99,6 +90,45 @@ namespace YooAsset
[NonSerialized]
public Dictionary<string, string> AssetPathMapping2;
/// <summary>
/// 资源包集合提供BundleName获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic1;
/// <summary>
/// 资源包集合提供FileName获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic2;
/// <summary>
/// 资源包集合提供BundleGUID获取PackageBundle
/// </summary>
[NonSerialized]
public Dictionary<string, PackageBundle> BundleDic3;
/// <summary>
/// 获取包裹的详细信息
/// </summary>
public PackageDetails GetPackageDetails()
{
PackageDetails details = new PackageDetails();
details.FileVersion = FileVersion;
details.EnableAddressable = EnableAddressable;
details.LocationToLower = LocationToLower;
details.IncludeAssetGUID = IncludeAssetGUID;
details.OutputNameStyle = OutputNameStyle;
details.BuildBundleType = BuildBundleType;
details.BuildPipeline = BuildPipeline;
details.PackageName = PackageName;
details.PackageVersion = PackageVersion;
details.PackageNote = PackageNote;
details.AssetTotalCount = AssetList.Count;
details.BundleTotalCount = BundleList.Count;
return details;
}
/// <summary>
/// 尝试映射为资源路径
@@ -192,23 +222,37 @@ namespace YooAsset
/// <summary>
/// 尝试获取包裹的资源包
/// </summary>
public bool TryGetPackageBundleByCacheGUID(string cacheGUID, out PackageBundle result)
public bool TryGetPackageBundleByBundleGUID(string bundleGUID, out PackageBundle result)
{
return BundleDic3.TryGetValue(cacheGUID, out result);
return BundleDic3.TryGetValue(bundleGUID, out result);
}
/// <summary>
/// 是否包含资源文件
/// </summary>
public bool IsIncludeBundleFile(string cacheGUID)
public bool IsIncludeBundleFile(string bundleGUID)
{
return BundleDic3.ContainsKey(cacheGUID);
return BundleDic3.ContainsKey(bundleGUID);
}
/// <summary>
/// 获取所有的资源信息
/// </summary>
public AssetInfo[] GetAllAssetInfos()
{
List<AssetInfo> result = new List<AssetInfo>(AssetList.Count);
foreach (var packageAsset in AssetList)
{
AssetInfo assetInfo = new AssetInfo(PackageName, packageAsset, null);
result.Add(assetInfo);
}
return result.ToArray();
}
/// <summary>
/// 获取资源信息列表
/// </summary>
public AssetInfo[] GetAssetsInfoByTags(string[] tags)
public AssetInfo[] GetAssetInfosByTags(string[] tags)
{
List<AssetInfo> result = new List<AssetInfo>(100);
foreach (var packageAsset in AssetList)
@@ -318,25 +362,6 @@ namespace YooAsset
}
}
/// <summary>
/// 获取资源包内的主资源列表
/// </summary>
public string[] GetBundleIncludeAssets(string assetPath)
{
List<string> assetList = new List<string>();
if (TryGetPackageAsset(assetPath, out PackageAsset result))
{
foreach (var packageAsset in AssetList)
{
if (packageAsset.BundleID == result.BundleID)
{
assetList.Add(packageAsset.AssetPath);
}
}
}
return assetList.ToArray();
}
#region
[Conditional("DEBUG")]
private void DebugCheckLocation(string location)
@@ -344,7 +369,7 @@ namespace YooAsset
if (string.IsNullOrEmpty(location) == false)
{
// 检查路径末尾是否有空格
int index = location.LastIndexOf(" ");
int index = location.LastIndexOf(' ');
if (index != -1)
{
if (location.Length == index + 1)