mirror of https://github.com/tuyoogame/YooAsset
update AssetBundleBuilder
ScriptableBuildParameters类新增BuiltinShadersBundleName和MonoScriptsBundleName字段pull/464/head
parent
e031498d5b
commit
6571faae4e
|
@ -17,7 +17,7 @@ namespace YooAsset.Editor
|
||||||
/// 未被依赖的资源列表
|
/// 未被依赖的资源列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public readonly List<ReportIndependAsset> IndependAssets = new List<ReportIndependAsset>(1000);
|
public readonly List<ReportIndependAsset> IndependAssets = new List<ReportIndependAsset>(1000);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 参与构建的资源总数
|
/// 参与构建的资源总数
|
||||||
/// 说明:包括主动收集的资源以及其依赖的所有资源
|
/// 说明:包括主动收集的资源以及其依赖的所有资源
|
||||||
|
@ -96,14 +96,14 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建着色器信息类
|
/// 创建空的资源包
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void CreateShadersBundleInfo(string shadersBundleName)
|
public void CreateEmptyBundleInfo(string bundleName)
|
||||||
{
|
{
|
||||||
if (IsContainsBundle(shadersBundleName) == false)
|
if (IsContainsBundle(bundleName) == false)
|
||||||
{
|
{
|
||||||
var shaderBundleInfo = new BuildBundleInfo(shadersBundleName);
|
var bundleInfo = new BuildBundleInfo(bundleName);
|
||||||
_bundleInfoDic.Add(shadersBundleName, shaderBundleInfo);
|
_bundleInfoDic.Add(bundleName, bundleInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace YooAsset.Editor
|
||||||
|
|
||||||
// 1. 获取所有收集器收集的资源
|
// 1. 获取所有收集器收集的资源
|
||||||
bool useAssetDependencyDB = buildParameters.UseAssetDependencyDB;
|
bool useAssetDependencyDB = buildParameters.UseAssetDependencyDB;
|
||||||
var collectResult = AssetBundleCollectorSettingData.Setting.GetPackageAssets(simulateBuild, useAssetDependencyDB, packageName);
|
var collectResult = AssetBundleCollectorSettingData.Setting.BeginCollect(packageName, simulateBuild, useAssetDependencyDB);
|
||||||
List<CollectAssetInfo> allCollectAssets = collectResult.CollectAssets;
|
List<CollectAssetInfo> allCollectAssets = collectResult.CollectAssets;
|
||||||
|
|
||||||
// 2. 剔除未被引用的依赖项资源
|
// 2. 剔除未被引用的依赖项资源
|
||||||
|
|
|
@ -27,7 +27,9 @@ namespace YooAsset.Editor
|
||||||
// 开始构建
|
// 开始构建
|
||||||
IBundleBuildResults buildResults;
|
IBundleBuildResults buildResults;
|
||||||
var buildParameters = scriptableBuildParameters.GetBundleBuildParameters();
|
var buildParameters = scriptableBuildParameters.GetBundleBuildParameters();
|
||||||
var taskList = SBPBuildTasks.Create(buildMapContext.Command.ShadersBundleName, null);
|
string builtinShadersBundleName = scriptableBuildParameters.BuiltinShadersBundleName;
|
||||||
|
string monoScriptsBundleName = scriptableBuildParameters.MonoScriptsBundleName;
|
||||||
|
var taskList = SBPBuildTasks.Create(builtinShadersBundleName, monoScriptsBundleName);
|
||||||
ReturnCode exitCode = ContentPipeline.BuildAssetBundles(buildParameters, buildContent, out buildResults, taskList);
|
ReturnCode exitCode = ContentPipeline.BuildAssetBundles(buildParameters, buildContent, out buildResults, taskList);
|
||||||
if (exitCode < 0)
|
if (exitCode < 0)
|
||||||
{
|
{
|
||||||
|
@ -35,13 +37,17 @@ namespace YooAsset.Editor
|
||||||
throw new Exception(message);
|
throw new Exception(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建着色器信息
|
// 说明:解决因为特殊资源包导致验证失败。
|
||||||
// 说明:解决因为着色器资源包导致验证失败。
|
|
||||||
// 例如:当项目里没有着色器,如果有依赖内置着色器就会验证失败。
|
// 例如:当项目里没有着色器,如果有依赖内置着色器就会验证失败。
|
||||||
string shadersBundleName = buildMapContext.Command.ShadersBundleName;
|
if (string.IsNullOrEmpty(builtinShadersBundleName) == false)
|
||||||
if (buildResults.BundleInfos.ContainsKey(shadersBundleName))
|
|
||||||
{
|
{
|
||||||
buildMapContext.CreateShadersBundleInfo(shadersBundleName);
|
if (buildResults.BundleInfos.ContainsKey(builtinShadersBundleName))
|
||||||
|
buildMapContext.CreateEmptyBundleInfo(builtinShadersBundleName);
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(monoScriptsBundleName) == false)
|
||||||
|
{
|
||||||
|
if (buildResults.BundleInfos.ContainsKey(monoScriptsBundleName))
|
||||||
|
buildMapContext.CreateEmptyBundleInfo(monoScriptsBundleName);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildLogger.Log("UnityEngine build success!");
|
BuildLogger.Log("UnityEngine build success!");
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace UnityEditor.Build.Pipeline.Tasks
|
||||||
{
|
{
|
||||||
public static class SBPBuildTasks
|
public static class SBPBuildTasks
|
||||||
{
|
{
|
||||||
public static IList<IBuildTask> Create(string builtInShaderBundleName, string unityMonoScriptsBundleName)
|
public static IList<IBuildTask> Create(string builtInShaderBundleName, string monoScriptsBundleName)
|
||||||
{
|
{
|
||||||
var buildTasks = new List<IBuildTask>();
|
var buildTasks = new List<IBuildTask>();
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@ namespace UnityEditor.Build.Pipeline.Tasks
|
||||||
buildTasks.Add(new StripUnusedSpriteSources());
|
buildTasks.Add(new StripUnusedSpriteSources());
|
||||||
if (string.IsNullOrEmpty(builtInShaderBundleName) == false)
|
if (string.IsNullOrEmpty(builtInShaderBundleName) == false)
|
||||||
buildTasks.Add(new CreateBuiltInShadersBundle(builtInShaderBundleName));
|
buildTasks.Add(new CreateBuiltInShadersBundle(builtInShaderBundleName));
|
||||||
if (string.IsNullOrEmpty(unityMonoScriptsBundleName) == false)
|
if (string.IsNullOrEmpty(monoScriptsBundleName) == false)
|
||||||
buildTasks.Add(new CreateMonoScriptBundle(unityMonoScriptsBundleName));
|
buildTasks.Add(new CreateMonoScriptBundle(monoScriptsBundleName));
|
||||||
buildTasks.Add(new PostDependencyCallback());
|
buildTasks.Add(new PostDependencyCallback());
|
||||||
|
|
||||||
// Packing
|
// Packing
|
||||||
|
|
|
@ -41,6 +41,17 @@ namespace YooAsset.Editor
|
||||||
public int CacheServerPort;
|
public int CacheServerPort;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 内置着色器资源包名称
|
||||||
|
/// </summary>
|
||||||
|
public string BuiltinShadersBundleName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Mono脚本资源包名称
|
||||||
|
/// </summary>
|
||||||
|
public string MonoScriptsBundleName;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取可编程构建管线的构建参数
|
/// 获取可编程构建管线的构建参数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -28,6 +28,7 @@ namespace YooAsset.Editor
|
||||||
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, BuildPipeline);
|
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, BuildPipeline);
|
||||||
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, BuildPipeline);
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, BuildPipeline);
|
||||||
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, BuildPipeline);
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, BuildPipeline);
|
||||||
|
var builtinShaderBundleName = GetBuiltinShaderBundleName();
|
||||||
|
|
||||||
ScriptableBuildParameters buildParameters = new ScriptableBuildParameters();
|
ScriptableBuildParameters buildParameters = new ScriptableBuildParameters();
|
||||||
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
||||||
|
@ -45,6 +46,7 @@ namespace YooAsset.Editor
|
||||||
buildParameters.CompressOption = compressOption;
|
buildParameters.CompressOption = compressOption;
|
||||||
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
||||||
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
||||||
|
buildParameters.BuiltinShadersBundleName = builtinShaderBundleName;
|
||||||
buildParameters.EncryptionServices = CreateEncryptionInstance();
|
buildParameters.EncryptionServices = CreateEncryptionInstance();
|
||||||
|
|
||||||
ScriptableBuildPipeline pipeline = new ScriptableBuildPipeline();
|
ScriptableBuildPipeline pipeline = new ScriptableBuildPipeline();
|
||||||
|
@ -52,6 +54,17 @@ namespace YooAsset.Editor
|
||||||
if (buildResult.Success)
|
if (buildResult.Success)
|
||||||
EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
|
EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 内置着色器资源包名称
|
||||||
|
/// 注意:和自动收集的着色器资源包名保持一致!
|
||||||
|
/// </summary>
|
||||||
|
private string GetBuiltinShaderBundleName()
|
||||||
|
{
|
||||||
|
var uniqueBundleName = AssetBundleCollectorSettingData.Setting.UniqueBundleName;
|
||||||
|
var packRuleResult = DefaultPackRule.CreateShadersPackRuleResult();
|
||||||
|
return packRuleResult.GetBundleName(PackageName, uniqueBundleName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
|
@ -98,9 +98,9 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取打包收集的资源文件
|
/// 开始收集工作
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<CollectAssetInfo> GetAllCollectAssets(CollectCommand command)
|
public CollectResult BeginCollect(CollectCommand command)
|
||||||
{
|
{
|
||||||
Dictionary<string, CollectAssetInfo> result = new Dictionary<string, CollectAssetInfo>(10000);
|
Dictionary<string, CollectAssetInfo> result = new Dictionary<string, CollectAssetInfo>(10000);
|
||||||
|
|
||||||
|
@ -138,8 +138,10 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回列表
|
// 返回结果
|
||||||
return result.Values.ToList();
|
var collectAssets = result.Values.ToList();
|
||||||
|
var collectResult = new CollectResult(command, collectAssets);
|
||||||
|
return collectResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -87,9 +87,9 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取包裹收集的资源文件
|
/// 收集指定包裹的资源文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CollectResult GetPackageAssets(bool simulateBuild, bool useAssetDependencyDB, string packageName)
|
public CollectResult BeginCollect(string packageName, bool simulateBuild, bool useAssetDependencyDB)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(packageName))
|
if (string.IsNullOrEmpty(packageName))
|
||||||
throw new Exception("Build package name is null or empty !");
|
throw new Exception("Build package name is null or empty !");
|
||||||
|
@ -100,16 +100,17 @@ namespace YooAsset.Editor
|
||||||
|
|
||||||
// 创建资源收集命令
|
// 创建资源收集命令
|
||||||
IIgnoreRule ignoreRule = AssetBundleCollectorSettingData.GetIgnoreRuleInstance(package.IgnoreRuleName);
|
IIgnoreRule ignoreRule = AssetBundleCollectorSettingData.GetIgnoreRuleInstance(package.IgnoreRuleName);
|
||||||
CollectCommand command = new CollectCommand(simulateBuild, useAssetDependencyDB, packageName,
|
var command = new CollectCommand(packageName, ignoreRule);
|
||||||
package.EnableAddressable,
|
command.SimulateBuild = simulateBuild;
|
||||||
package.LocationToLower,
|
command.UniqueBundleName = UniqueBundleName;
|
||||||
package.IncludeAssetGUID,
|
command.UseAssetDependencyDB = useAssetDependencyDB;
|
||||||
package.AutoCollectShaders,
|
command.EnableAddressable = package.EnableAddressable;
|
||||||
UniqueBundleName, ignoreRule);
|
command.LocationToLower = package.LocationToLower;
|
||||||
|
command.IncludeAssetGUID = package.IncludeAssetGUID;
|
||||||
|
command.AutoCollectShaders = package.AutoCollectShaders;
|
||||||
|
|
||||||
// 获取收集的资源集合
|
// 开始收集工作
|
||||||
CollectResult collectResult = new CollectResult(command);
|
CollectResult collectResult = package.BeginCollect(command);
|
||||||
collectResult.SetCollectAssets(package.GetAllCollectAssets(command));
|
|
||||||
return collectResult;
|
return collectResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,25 +164,25 @@ namespace YooAsset.Editor
|
||||||
RefreshWindow();
|
RefreshWindow();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 忽略规则
|
||||||
|
_ignoreRulePopupField = new PopupField<RuleDisplayName>(_ignoreRuleList, 0);
|
||||||
|
_ignoreRulePopupField.label = "File Ignore Rule";
|
||||||
|
_ignoreRulePopupField.name = "IgnoreRulePopupField";
|
||||||
|
_ignoreRulePopupField.style.unityTextAlign = TextAnchor.MiddleLeft;
|
||||||
|
_ignoreRulePopupField.style.width = 300;
|
||||||
|
_ignoreRulePopupField.formatListItemCallback = FormatListItemCallback;
|
||||||
|
_ignoreRulePopupField.formatSelectedValueCallback = FormatSelectedValueCallback;
|
||||||
|
_ignoreRulePopupField.RegisterValueChangedCallback(evt =>
|
||||||
{
|
{
|
||||||
_ignoreRulePopupField = new PopupField<RuleDisplayName>(_ignoreRuleList, 0);
|
var selectPackage = _packageListView.selectedItem as AssetBundleCollectorPackage;
|
||||||
_ignoreRulePopupField.label = "File Ignore Rule";
|
if (selectPackage != null)
|
||||||
_ignoreRulePopupField.name = "IgnoreRulePopupField";
|
|
||||||
_ignoreRulePopupField.style.unityTextAlign = TextAnchor.MiddleLeft;
|
|
||||||
_ignoreRulePopupField.style.width = 300;
|
|
||||||
_ignoreRulePopupField.formatListItemCallback = FormatListItemCallback;
|
|
||||||
_ignoreRulePopupField.formatSelectedValueCallback = FormatSelectedValueCallback;
|
|
||||||
_ignoreRulePopupField.RegisterValueChangedCallback(evt =>
|
|
||||||
{
|
{
|
||||||
var selectPackage = _packageListView.selectedItem as AssetBundleCollectorPackage;
|
selectPackage.IgnoreRuleName = evt.newValue.ClassName;
|
||||||
if (selectPackage != null)
|
AssetBundleCollectorSettingData.ModifyPackage(selectPackage);
|
||||||
{
|
}
|
||||||
selectPackage.IgnoreRuleName = evt.newValue.ClassName;
|
});
|
||||||
AssetBundleCollectorSettingData.ModifyPackage(selectPackage);
|
_setting2Container.Add(_ignoreRulePopupField);
|
||||||
}
|
|
||||||
});
|
|
||||||
_setting2Container.Add(_ignoreRulePopupField);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 配置修复按钮
|
// 配置修复按钮
|
||||||
var fixBtn = root.Q<Button>("FixButton");
|
var fixBtn = root.Q<Button>("FixButton");
|
||||||
|
@ -995,14 +995,16 @@ namespace YooAsset.Editor
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IIgnoreRule ignoreRule = AssetBundleCollectorSettingData.GetIgnoreRuleInstance(_ignoreRulePopupField.value.ClassName);
|
IIgnoreRule ignoreRule = AssetBundleCollectorSettingData.GetIgnoreRuleInstance(_ignoreRulePopupField.value.ClassName);
|
||||||
CollectCommand command = new CollectCommand(true, false,
|
string packageName = _packageNameTxt.value;
|
||||||
_packageNameTxt.value,
|
var command = new CollectCommand(packageName, ignoreRule);
|
||||||
_enableAddressableToogle.value,
|
command.SimulateBuild = true;
|
||||||
_locationToLowerToogle.value,
|
command.UniqueBundleName = _uniqueBundleNameToogle.value;
|
||||||
_includeAssetGUIDToogle.value,
|
command.UseAssetDependencyDB = true;
|
||||||
_autoCollectShadersToogle.value,
|
command.EnableAddressable = _enableAddressableToogle.value;
|
||||||
_uniqueBundleNameToogle.value,
|
command.LocationToLower = _locationToLowerToogle.value;
|
||||||
ignoreRule);
|
command.IncludeAssetGUID = _includeAssetGUIDToogle.value;
|
||||||
|
command.AutoCollectShaders = _autoCollectShadersToogle.value;
|
||||||
|
|
||||||
collector.CheckConfigError();
|
collector.CheckConfigError();
|
||||||
collectAssetInfos = collector.GetAllCollectAssets(command, group);
|
collectAssetInfos = collector.GetAllCollectAssets(command, group);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
</ui:VisualElement>
|
</ui:VisualElement>
|
||||||
<ui:VisualElement name="GroupContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
<ui:VisualElement name="GroupContainer" style="width: 200px; flex-grow: 0; background-color: rgb(67, 67, 67); border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px;">
|
||||||
<ui:Label text="Groups" display-tooltip-when-elided="true" name="GroupTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
<ui:Label text="Groups" display-tooltip-when-elided="true" name="GroupTitle" style="background-color: rgb(89, 89, 89); -unity-text-align: upper-center; -unity-font-style: bold; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; border-bottom-width: 5px; font-size: 12px;" />
|
||||||
<ui:TextField picking-mode="Ignore" label="Package Name" value="filler text" name="PackageName" style="flex-direction: column;" />
|
<ui:TextField picking-mode="Ignore" label="Package Name" name="PackageName" style="flex-direction: column;" />
|
||||||
<ui:TextField picking-mode="Ignore" label="Package Desc" value="filler text" name="PackageDesc" style="flex-direction: column;" />
|
<ui:TextField picking-mode="Ignore" label="Package Desc" name="PackageDesc" style="flex-direction: column;" />
|
||||||
<ui:ListView focusable="true" name="GroupListView" item-height="20" virtualization-method="DynamicHeight" style="flex-grow: 1;" />
|
<ui:ListView focusable="true" name="GroupListView" item-height="20" virtualization-method="DynamicHeight" style="flex-grow: 1;" />
|
||||||
<ui:VisualElement name="GroupAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
<ui:VisualElement name="GroupAddContainer" style="height: 20px; flex-direction: row; justify-content: center;">
|
||||||
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
<ui:Button text=" - " display-tooltip-when-elided="true" name="RemoveBtn" />
|
||||||
|
|
|
@ -3,75 +3,51 @@ namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
public class CollectCommand
|
public class CollectCommand
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 模拟构建模式
|
|
||||||
/// </summary>
|
|
||||||
public bool SimulateBuild { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 使用资源依赖数据库
|
|
||||||
/// </summary>
|
|
||||||
public bool UseAssetDependencyDB { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 包裹名称
|
/// 包裹名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string PackageName { private set; get; }
|
public string PackageName { private set; get; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 启用可寻址资源定位
|
|
||||||
/// </summary>
|
|
||||||
public bool EnableAddressable { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 资源定位地址大小写不敏感
|
|
||||||
/// </summary>
|
|
||||||
public bool LocationToLower { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 包含资源GUID数据
|
|
||||||
/// </summary>
|
|
||||||
public bool IncludeAssetGUID { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 自动收集所有着色器
|
|
||||||
/// </summary>
|
|
||||||
public bool AutoCollectShaders { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 资源包名唯一化
|
|
||||||
/// </summary>
|
|
||||||
public bool UniqueBundleName { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 着色器统一全名称
|
|
||||||
/// </summary>
|
|
||||||
public string ShadersBundleName { private set; get; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 忽略规则实例
|
/// 忽略规则实例
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IIgnoreRule IgnoreRule { private set; get; }
|
public IIgnoreRule IgnoreRule { private set; get; }
|
||||||
|
|
||||||
|
|
||||||
public CollectCommand(bool simulateBuild, bool useAssetDependencyDB, string packageName,
|
/// <summary>
|
||||||
bool enableAddressable, bool locationToLower, bool includeAssetGUID,
|
/// 模拟构建模式
|
||||||
bool autoCollectShaders, bool uniqueBundleName, IIgnoreRule ignoreRule)
|
/// </summary>
|
||||||
{
|
public bool SimulateBuild { set; get; }
|
||||||
SimulateBuild = simulateBuild;
|
|
||||||
UseAssetDependencyDB = useAssetDependencyDB;
|
|
||||||
PackageName = packageName;
|
|
||||||
EnableAddressable = enableAddressable;
|
|
||||||
LocationToLower = locationToLower;
|
|
||||||
IncludeAssetGUID = includeAssetGUID;
|
|
||||||
AutoCollectShaders = autoCollectShaders;
|
|
||||||
UniqueBundleName = uniqueBundleName;
|
|
||||||
IgnoreRule = ignoreRule;
|
|
||||||
|
|
||||||
// 着色器统一全名称
|
/// <summary>
|
||||||
var packRuleResult = DefaultPackRule.CreateShadersPackRuleResult();
|
/// 资源包名唯一化
|
||||||
ShadersBundleName = packRuleResult.GetBundleName(packageName, uniqueBundleName);
|
/// </summary>
|
||||||
}
|
public bool UniqueBundleName { set; get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 使用资源依赖数据库
|
||||||
|
/// </summary>
|
||||||
|
public bool UseAssetDependencyDB { set; get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 启用可寻址资源定位
|
||||||
|
/// </summary>
|
||||||
|
public bool EnableAddressable { set; get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 资源定位地址大小写不敏感
|
||||||
|
/// </summary>
|
||||||
|
public bool LocationToLower { set; get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 包含资源GUID数据
|
||||||
|
/// </summary>
|
||||||
|
public bool IncludeAssetGUID { set; get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自动收集所有着色器
|
||||||
|
/// </summary>
|
||||||
|
public bool AutoCollectShaders { set; get; }
|
||||||
|
|
||||||
private AssetDependencyCache _assetDependency;
|
private AssetDependencyCache _assetDependency;
|
||||||
public AssetDependencyCache AssetDependency
|
public AssetDependencyCache AssetDependency
|
||||||
|
@ -83,5 +59,11 @@ namespace YooAsset.Editor
|
||||||
return _assetDependency;
|
return _assetDependency;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CollectCommand(string packageName, IIgnoreRule ignoreRule)
|
||||||
|
{
|
||||||
|
PackageName = packageName;
|
||||||
|
IgnoreRule = ignoreRule;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -15,12 +15,9 @@ namespace YooAsset.Editor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<CollectAssetInfo> CollectAssets { private set; get; }
|
public List<CollectAssetInfo> CollectAssets { private set; get; }
|
||||||
|
|
||||||
public CollectResult(CollectCommand command)
|
public CollectResult(CollectCommand command, List<CollectAssetInfo> collectAssets)
|
||||||
{
|
{
|
||||||
Command = command;
|
Command = command;
|
||||||
}
|
|
||||||
public void SetCollectAssets(List<CollectAssetInfo> collectAssets)
|
|
||||||
{
|
|
||||||
CollectAssets = collectAssets;
|
CollectAssets = collectAssets;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue