mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-26 18:50:10 +00:00
feat : 构建过程图集依赖计算增加开关
This commit is contained in:
@@ -308,25 +308,34 @@ namespace YooAsset.Editor
|
|||||||
// 注意:如果是可编程构建管线,需要补充内置资源包
|
// 注意:如果是可编程构建管线,需要补充内置资源包
|
||||||
// 注意:该步骤依赖前面的操作!
|
// 注意:该步骤依赖前面的操作!
|
||||||
var buildResultContext = context.TryGetContextObject<TaskBuilding_SBP.BuildResultContext>();
|
var buildResultContext = context.TryGetContextObject<TaskBuilding_SBP.BuildResultContext>();
|
||||||
|
|
||||||
if (buildResultContext != null)
|
if (buildResultContext != null)
|
||||||
{
|
{
|
||||||
ProcessBuiltinBundleReference(context, manifest, buildResultContext.BuiltinShadersBundleName);
|
ProcessBuiltinBundleReference(manifest, buildResultContext.BuiltinShadersBundleName);
|
||||||
ProcessBuiltinBundleReference(context, manifest, buildResultContext.MonoScriptsBundleName);
|
ProcessBuiltinBundleReference(manifest, buildResultContext.MonoScriptsBundleName);
|
||||||
|
|
||||||
// 注意:检测是否开启图集模式
|
var buildParametersContext = context.TryGetContextObject<BuildParametersContext>();
|
||||||
// 说明:需要记录主资源对象对图集的依赖关系!
|
var buildParameters = buildParametersContext.Parameters;
|
||||||
if (EditorSettings.spritePackerMode != SpritePackerMode.Disabled)
|
if (buildParameters is ScriptableBuildParameters scriptableBuildParameters)
|
||||||
{
|
{
|
||||||
var buildMapContext = context.GetContextObject<BuildMapContext>();
|
if (scriptableBuildParameters.TrackSpriteAtlasDependencies)
|
||||||
foreach (var spriteAtlasAsset in buildMapContext.SpriteAtlasAssetList)
|
|
||||||
{
|
{
|
||||||
string spriteAtlasBundleName = spriteAtlasAsset.BundleName;
|
// 注意:检测是否开启图集模式
|
||||||
ProcessBuiltinBundleReference(context, manifest, spriteAtlasBundleName);
|
// 说明:需要记录主资源对象对图集的依赖关系!
|
||||||
|
if (EditorSettings.spritePackerMode != SpritePackerMode.Disabled)
|
||||||
|
{
|
||||||
|
var buildMapContext = context.GetContextObject<BuildMapContext>();
|
||||||
|
foreach (var spriteAtlasAsset in buildMapContext.SpriteAtlasAssetList)
|
||||||
|
{
|
||||||
|
string spriteAtlasBundleName = spriteAtlasAsset.BundleName;
|
||||||
|
ProcessBuiltinBundleReference(manifest, spriteAtlasBundleName);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ProcessBuiltinBundleReference(BuildContext context, PackageManifest manifest, string builtinBundleName)
|
private void ProcessBuiltinBundleReference(PackageManifest manifest, string builtinBundleName)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(builtinBundleName))
|
if (string.IsNullOrEmpty(builtinBundleName))
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -29,6 +29,11 @@ namespace YooAsset.Editor
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IgnoreTypeTreeChanges = true;
|
public bool IgnoreTypeTreeChanges = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自动建立资源对象对图集的依赖关系
|
||||||
|
/// </summary>
|
||||||
|
public bool TrackSpriteAtlasDependencies = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成代码防裁剪配置
|
/// 生成代码防裁剪配置
|
||||||
|
|||||||
Reference in New Issue
Block a user