mirror of https://github.com/tuyoogame/YooAsset
fix #462
parent
94ee2ba5c1
commit
f72814a51b
|
@ -58,7 +58,7 @@ namespace YooAsset.Editor
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 使用资源依赖缓存数据库
|
/// 使用资源依赖缓存数据库
|
||||||
/// 说明:开启此项可以极大提高资源收集速度
|
/// 说明:开启此项可以极大提高资源收集速度!
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool UseAssetDependencyDB = false;
|
public bool UseAssetDependencyDB = false;
|
||||||
|
|
||||||
|
@ -67,6 +67,12 @@ namespace YooAsset.Editor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool EnableSharePackRule = false;
|
public bool EnableSharePackRule = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 对单独引用的共享资源进行独立打包
|
||||||
|
/// 说明:关闭该选项单独引用的共享资源将会构建到引用它的资源包内!
|
||||||
|
/// </summary>
|
||||||
|
public bool SingleReferencedPackAlone = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证构建结果
|
/// 验证构建结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -109,15 +109,10 @@ namespace YooAsset.Editor
|
||||||
{
|
{
|
||||||
if (buildAssetInfo.HasBundleName() == false)
|
if (buildAssetInfo.HasBundleName() == false)
|
||||||
{
|
{
|
||||||
PackRuleResult packRuleResult = GetShareBundleName(buildAssetInfo);
|
ProcessingPackShareBundle(buildParameters, collectResult.Command, buildAssetInfo);
|
||||||
if (packRuleResult.IsValid())
|
|
||||||
{
|
|
||||||
string shareBundleName = packRuleResult.GetShareBundleName(collectResult.Command.PackageName, collectResult.Command.UniqueBundleName);
|
|
||||||
buildAssetInfo.SetBundleName(shareBundleName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PostProcessPackShareBundle();
|
PostProcessPackShareBundle(buildParameters, collectResult.Command, allBuildAssetInfos);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8. 记录关键信息
|
// 8. 记录关键信息
|
||||||
|
@ -209,21 +204,38 @@ namespace YooAsset.Editor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 共享资源打包后置处理
|
/// 共享资源打包机制
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected virtual void PostProcessPackShareBundle()
|
protected virtual void ProcessingPackShareBundle(BuildParameters buildParameters, CollectCommand command, BuildAssetInfo buildAssetInfo)
|
||||||
{
|
{
|
||||||
}
|
PackRuleResult packRuleResult = GetShareBundleName(buildAssetInfo);
|
||||||
|
if (packRuleResult.IsValid() == false)
|
||||||
|
return;
|
||||||
|
|
||||||
/// <summary>
|
// 处理单个引用的共享资源
|
||||||
/// 获取共享资源包名称
|
if (buildAssetInfo.GetReferenceBundleCount() <= 1)
|
||||||
/// </summary>
|
{
|
||||||
protected virtual PackRuleResult GetShareBundleName(BuildAssetInfo buildAssetInfo)
|
if (buildParameters.SingleReferencedPackAlone == false)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置共享资源包名
|
||||||
|
string shareBundleName = packRuleResult.GetShareBundleName(command.PackageName, command.UniqueBundleName);
|
||||||
|
buildAssetInfo.SetBundleName(shareBundleName);
|
||||||
|
}
|
||||||
|
private PackRuleResult GetShareBundleName(BuildAssetInfo buildAssetInfo)
|
||||||
{
|
{
|
||||||
string bundleName = Path.GetDirectoryName(buildAssetInfo.AssetInfo.AssetPath);
|
string bundleName = Path.GetDirectoryName(buildAssetInfo.AssetInfo.AssetPath);
|
||||||
PackRuleResult result = new PackRuleResult(bundleName, DefaultPackRule.AssetBundleFileExtension);
|
PackRuleResult result = new PackRuleResult(bundleName, DefaultPackRule.AssetBundleFileExtension);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 共享资源打包后置处理
|
||||||
|
/// </summary>
|
||||||
|
protected virtual void PostProcessPackShareBundle(BuildParameters buildParameters, CollectCommand command, Dictionary<string, BuildAssetInfo> allBuildAssetInfos)
|
||||||
|
{
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue