mirror of https://github.com/tuyoogame/YooAsset
Compare commits
5 Commits
79e0cf85f9
...
a5b68b28b2
Author | SHA1 | Date |
---|---|---|
|
a5b68b28b2 | |
|
bd285faf37 | |
|
8a4960b560 | |
|
83c6ae2057 | |
|
b71563e889 |
|
@ -52,7 +52,7 @@ namespace YooAsset.Editor
|
|||
public string PackageNote;
|
||||
|
||||
/// <summary>
|
||||
/// 旧版依赖模式
|
||||
/// 怀旧版依赖模式
|
||||
/// 说明:兼容YooAssets1.5.x版本
|
||||
/// </summary>
|
||||
public bool LegacyDependency = false;
|
||||
|
|
|
@ -44,14 +44,14 @@ namespace YooAsset.Editor
|
|||
manifest.AssetList = CreatePackageAssetList(buildMapContext);
|
||||
manifest.BundleList = CreatePackageBundleList(buildMapContext);
|
||||
|
||||
// 处理资源清单的资源对象
|
||||
// 1. 处理资源清单的资源对象
|
||||
ProcessPacakgeAsset(manifest);
|
||||
|
||||
// 处理资源包的依赖列表
|
||||
// 2. 处理资源包的依赖列表
|
||||
if (processBundleDepends)
|
||||
ProcessBundleDepends(context, manifest);
|
||||
|
||||
// 处理资源包的标签集合
|
||||
// 3. 处理资源包的标签集合
|
||||
if (processBundleTags)
|
||||
ProcessBundleTags(manifest);
|
||||
|
||||
|
@ -191,6 +191,19 @@ namespace YooAsset.Editor
|
|||
var assetInfo = packageAsset.TempDataInEditor as BuildAssetInfo;
|
||||
packageAsset.BundleID = GetCachedBundleIndexID(assetInfo.BundleName);
|
||||
}
|
||||
|
||||
#region YOOASSET_LEGACY_DEPENDENCY
|
||||
if (manifest.LegacyDependency)
|
||||
{
|
||||
// 记录资源对象依赖的资源包ID集合
|
||||
// 注意:依赖关系非引擎构建结果里查询!
|
||||
foreach (var packageAsset in manifest.AssetList)
|
||||
{
|
||||
var mainAssetInfo = packageAsset.TempDataInEditor as BuildAssetInfo;
|
||||
packageAsset.DependBundleIDs = GetAssetDependBundleIDs(mainAssetInfo);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -212,6 +225,23 @@ namespace YooAsset.Editor
|
|||
}
|
||||
packageBundle.DependIDs = dependIDs.ToArray();
|
||||
}
|
||||
|
||||
#region YOOASSET_LEGACY_DEPENDENCY
|
||||
if (manifest.LegacyDependency)
|
||||
{
|
||||
foreach (var packageBundle in manifest.BundleList)
|
||||
{
|
||||
var dependIDs = packageBundle.DependIDs;
|
||||
packageBundle.TempDataInEditor = new DependencyQuery(dependIDs);
|
||||
}
|
||||
|
||||
// 记录引用该资源包的资源包ID集合
|
||||
foreach (var packageBundle in manifest.BundleList)
|
||||
{
|
||||
packageBundle.ReferenceBundleIDs = GetBundleReferenceBundleIDs(manifest, packageBundle);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -219,23 +249,51 @@ namespace YooAsset.Editor
|
|||
/// </summary>
|
||||
private void ProcessBundleTags(PackageManifest manifest)
|
||||
{
|
||||
// 将主资源的标签信息传染给其依赖的资源包集合
|
||||
foreach (var packageAsset in manifest.AssetList)
|
||||
foreach (var packageBundle in manifest.BundleList)
|
||||
{
|
||||
var assetTags = packageAsset.AssetTags;
|
||||
int bundleID = packageAsset.BundleID;
|
||||
CacheBundleTags(bundleID, assetTags);
|
||||
packageBundle.Tags = Array.Empty<string>();
|
||||
}
|
||||
|
||||
var packageBundle = manifest.BundleList[bundleID];
|
||||
if (packageBundle.DependIDs != null)
|
||||
// YOOASSET_LEGACY_DEPENDENCY
|
||||
if (manifest.LegacyDependency)
|
||||
{
|
||||
// 将主资源的标签信息传染给其依赖的资源包集合
|
||||
foreach (var packageAsset in manifest.AssetList)
|
||||
{
|
||||
foreach (var dependBundleID in packageBundle.DependIDs)
|
||||
var assetTags = packageAsset.AssetTags;
|
||||
int bundleID = packageAsset.BundleID;
|
||||
CacheBundleTags(bundleID, assetTags);
|
||||
|
||||
if (packageAsset.DependBundleIDs != null)
|
||||
{
|
||||
CacheBundleTags(dependBundleID, assetTags);
|
||||
foreach (var dependBundleID in packageAsset.DependBundleIDs)
|
||||
{
|
||||
CacheBundleTags(dependBundleID, assetTags);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 将主资源的标签信息传染给其依赖的资源包集合
|
||||
foreach (var packageAsset in manifest.AssetList)
|
||||
{
|
||||
var assetTags = packageAsset.AssetTags;
|
||||
int bundleID = packageAsset.BundleID;
|
||||
CacheBundleTags(bundleID, assetTags);
|
||||
|
||||
var packageBundle = manifest.BundleList[bundleID];
|
||||
if (packageBundle.DependIDs != null)
|
||||
{
|
||||
foreach (var dependBundleID in packageBundle.DependIDs)
|
||||
{
|
||||
CacheBundleTags(dependBundleID, assetTags);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 将缓存的资源标签赋值给资源包
|
||||
for (int index = 0; index < manifest.BundleList.Count; index++)
|
||||
{
|
||||
var packageBundle = manifest.BundleList[index];
|
||||
|
@ -299,26 +357,6 @@ namespace YooAsset.Editor
|
|||
}
|
||||
private void ProcessLegacyDependency(BuildContext context, PackageManifest manifest)
|
||||
{
|
||||
foreach (var packageBundle in manifest.BundleList)
|
||||
{
|
||||
var dependIDs = packageBundle.DependIDs;
|
||||
packageBundle.TempDataInEditor = new DependencyQuery(dependIDs);
|
||||
}
|
||||
|
||||
// 记录资源对象依赖的资源包ID集合
|
||||
// 注意:依赖关系非引擎构建结果里查询!
|
||||
foreach (var packageAsset in manifest.AssetList)
|
||||
{
|
||||
var mainAssetInfo = packageAsset.TempDataInEditor as BuildAssetInfo;
|
||||
packageAsset.DependBundleIDs = GetAssetDependBundleIDs(mainAssetInfo);
|
||||
}
|
||||
|
||||
// 记录引用该资源包的资源包ID集合
|
||||
foreach (var packageBundle in manifest.BundleList)
|
||||
{
|
||||
packageBundle.ReferenceBundleIDs = GetBundleReferenceBundleIDs(manifest, packageBundle);
|
||||
}
|
||||
|
||||
// 注意:如果是可编程构建管线,需要补充内置资源包
|
||||
// 注意:该步骤依赖前面的操作!
|
||||
var buildResultContext = context.TryGetContextObject<TaskBuilding_SBP.BuildResultContext>();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
namespace YooAsset
|
||||
{
|
||||
internal enum EBuildBundleType
|
||||
public enum EBuildBundleType
|
||||
{
|
||||
/// <summary>
|
||||
/// 未知类型
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace YooAsset
|
|||
public string FileVersion;
|
||||
|
||||
/// <summary>
|
||||
/// 旧版依赖模式
|
||||
/// 怀旧版依赖模式
|
||||
/// </summary>
|
||||
public bool LegacyDependency;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ MonoBehaviour:
|
|||
Groups:
|
||||
- GroupName: battle
|
||||
GroupDesc: "\u6218\u6597"
|
||||
AssetTags:
|
||||
AssetTags: battle
|
||||
ActiveRuleName: EnableGroup
|
||||
Collectors:
|
||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/Effect
|
||||
|
@ -92,7 +92,7 @@ MonoBehaviour:
|
|||
UserData:
|
||||
- GroupName: scene
|
||||
GroupDesc: "\u573A\u666F"
|
||||
AssetTags:
|
||||
AssetTags: scene
|
||||
ActiveRuleName: EnableGroup
|
||||
Collectors:
|
||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/Scene
|
||||
|
@ -113,7 +113,7 @@ MonoBehaviour:
|
|||
UserData:
|
||||
- GroupName: ugui
|
||||
GroupDesc: "\u9762\u677F"
|
||||
AssetTags:
|
||||
AssetTags: ui
|
||||
ActiveRuleName: EnableGroup
|
||||
Collectors:
|
||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/UIPanel
|
||||
|
|
Loading…
Reference in New Issue