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;
|
public string PackageNote;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 旧版依赖模式
|
/// 怀旧版依赖模式
|
||||||
/// 说明:兼容YooAssets1.5.x版本
|
/// 说明:兼容YooAssets1.5.x版本
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool LegacyDependency = false;
|
public bool LegacyDependency = false;
|
||||||
|
|
|
@ -44,14 +44,14 @@ namespace YooAsset.Editor
|
||||||
manifest.AssetList = CreatePackageAssetList(buildMapContext);
|
manifest.AssetList = CreatePackageAssetList(buildMapContext);
|
||||||
manifest.BundleList = CreatePackageBundleList(buildMapContext);
|
manifest.BundleList = CreatePackageBundleList(buildMapContext);
|
||||||
|
|
||||||
// 处理资源清单的资源对象
|
// 1. 处理资源清单的资源对象
|
||||||
ProcessPacakgeAsset(manifest);
|
ProcessPacakgeAsset(manifest);
|
||||||
|
|
||||||
// 处理资源包的依赖列表
|
// 2. 处理资源包的依赖列表
|
||||||
if (processBundleDepends)
|
if (processBundleDepends)
|
||||||
ProcessBundleDepends(context, manifest);
|
ProcessBundleDepends(context, manifest);
|
||||||
|
|
||||||
// 处理资源包的标签集合
|
// 3. 处理资源包的标签集合
|
||||||
if (processBundleTags)
|
if (processBundleTags)
|
||||||
ProcessBundleTags(manifest);
|
ProcessBundleTags(manifest);
|
||||||
|
|
||||||
|
@ -191,6 +191,19 @@ namespace YooAsset.Editor
|
||||||
var assetInfo = packageAsset.TempDataInEditor as BuildAssetInfo;
|
var assetInfo = packageAsset.TempDataInEditor as BuildAssetInfo;
|
||||||
packageAsset.BundleID = GetCachedBundleIndexID(assetInfo.BundleName);
|
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>
|
/// <summary>
|
||||||
|
@ -212,12 +225,55 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
packageBundle.DependIDs = dependIDs.ToArray();
|
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>
|
/// <summary>
|
||||||
/// 处理资源包的标签集合
|
/// 处理资源包的标签集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void ProcessBundleTags(PackageManifest manifest)
|
private void ProcessBundleTags(PackageManifest manifest)
|
||||||
|
{
|
||||||
|
foreach (var packageBundle in manifest.BundleList)
|
||||||
|
{
|
||||||
|
packageBundle.Tags = Array.Empty<string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// YOOASSET_LEGACY_DEPENDENCY
|
||||||
|
if (manifest.LegacyDependency)
|
||||||
|
{
|
||||||
|
// 将主资源的标签信息传染给其依赖的资源包集合
|
||||||
|
foreach (var packageAsset in manifest.AssetList)
|
||||||
|
{
|
||||||
|
var assetTags = packageAsset.AssetTags;
|
||||||
|
int bundleID = packageAsset.BundleID;
|
||||||
|
CacheBundleTags(bundleID, assetTags);
|
||||||
|
|
||||||
|
if (packageAsset.DependBundleIDs != null)
|
||||||
|
{
|
||||||
|
foreach (var dependBundleID in packageAsset.DependBundleIDs)
|
||||||
|
{
|
||||||
|
CacheBundleTags(dependBundleID, assetTags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
// 将主资源的标签信息传染给其依赖的资源包集合
|
// 将主资源的标签信息传染给其依赖的资源包集合
|
||||||
foreach (var packageAsset in manifest.AssetList)
|
foreach (var packageAsset in manifest.AssetList)
|
||||||
|
@ -235,7 +291,9 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将缓存的资源标签赋值给资源包
|
||||||
for (int index = 0; index < manifest.BundleList.Count; index++)
|
for (int index = 0; index < manifest.BundleList.Count; index++)
|
||||||
{
|
{
|
||||||
var packageBundle = manifest.BundleList[index];
|
var packageBundle = manifest.BundleList[index];
|
||||||
|
@ -299,26 +357,6 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
private void ProcessLegacyDependency(BuildContext context, PackageManifest manifest)
|
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>();
|
var buildResultContext = context.TryGetContextObject<TaskBuilding_SBP.BuildResultContext>();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
internal enum EBuildBundleType
|
public enum EBuildBundleType
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 未知类型
|
/// 未知类型
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace YooAsset
|
||||||
public string FileVersion;
|
public string FileVersion;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 旧版依赖模式
|
/// 怀旧版依赖模式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool LegacyDependency;
|
public bool LegacyDependency;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ MonoBehaviour:
|
||||||
Groups:
|
Groups:
|
||||||
- GroupName: battle
|
- GroupName: battle
|
||||||
GroupDesc: "\u6218\u6597"
|
GroupDesc: "\u6218\u6597"
|
||||||
AssetTags:
|
AssetTags: battle
|
||||||
ActiveRuleName: EnableGroup
|
ActiveRuleName: EnableGroup
|
||||||
Collectors:
|
Collectors:
|
||||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/Effect
|
- CollectPath: Assets/Samples/Space Shooter/GameRes/Effect
|
||||||
|
@ -92,7 +92,7 @@ MonoBehaviour:
|
||||||
UserData:
|
UserData:
|
||||||
- GroupName: scene
|
- GroupName: scene
|
||||||
GroupDesc: "\u573A\u666F"
|
GroupDesc: "\u573A\u666F"
|
||||||
AssetTags:
|
AssetTags: scene
|
||||||
ActiveRuleName: EnableGroup
|
ActiveRuleName: EnableGroup
|
||||||
Collectors:
|
Collectors:
|
||||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/Scene
|
- CollectPath: Assets/Samples/Space Shooter/GameRes/Scene
|
||||||
|
@ -113,7 +113,7 @@ MonoBehaviour:
|
||||||
UserData:
|
UserData:
|
||||||
- GroupName: ugui
|
- GroupName: ugui
|
||||||
GroupDesc: "\u9762\u677F"
|
GroupDesc: "\u9762\u677F"
|
||||||
AssetTags:
|
AssetTags: ui
|
||||||
ActiveRuleName: EnableGroup
|
ActiveRuleName: EnableGroup
|
||||||
Collectors:
|
Collectors:
|
||||||
- CollectPath: Assets/Samples/Space Shooter/GameRes/UIPanel
|
- CollectPath: Assets/Samples/Space Shooter/GameRes/UIPanel
|
||||||
|
|
Loading…
Reference in New Issue