This commit is contained in:
2025-10-24 11:11:59 +08:00
parent c3f33afd70
commit cdd5eafa64
28 changed files with 1316 additions and 162 deletions

View File

@@ -12,8 +12,15 @@ namespace Stary.Evo.Editor
[Serializable]
public class AbstractBuildPipelineViewer
{
protected BuildAssetDataSetting dataSetting;
//protected BuildAssetDataSetting dataSetting;
#region
protected string packageName;
protected string selectedBuildPipelines;
protected string packageVersion;
#endregion
// protected bool isSimulate;
// protected bool isRaw;
@@ -21,15 +28,15 @@ namespace Stary.Evo.Editor
[HorizontalGroup("BuildCache")]
[InfoBox("当不勾选此项的时候,引擎会开启增量打包模式,会极大提高构建速度!")]
[OnValueChanged("SetBuildCacheToggle")]
[HideIf("@ dataSetting.selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline")]
[HideIf("@ selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline.ToString()")]
public bool clearBuildCacheToggle;
[Title("依赖数据库", titleAlignment: TitleAlignments.Centered)]
[HorizontalGroup("BuildCache")]
[InfoBox("当开启此项的时候,会极大提高构建速度!")]
[OnValueChanged("SetUseAssetDependencyDB")]
[HideIf("@ dataSetting.selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline")]
public bool useAssetDependencyDBToggle;
[HideIf("@ selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline.ToString()")]
public bool useAssetDependencyDBToggle=true;
@@ -37,7 +44,7 @@ namespace Stary.Evo.Editor
[HorizontalGroup("BuildCache"), HideLabel]
[InfoBox("推荐LZ4压缩方式")]
[OnValueChanged("SetCompression")]
[HideIf("@ dataSetting.selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline")]
[HideIf("@ selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline.ToString()")]
public ECompressOption compression = ECompressOption.LZ4;
// [Title("资源包文件名称样式", titleAlignment: TitleAlignments.Centered)]
@@ -50,8 +57,8 @@ namespace Stary.Evo.Editor
[VerticalGroup("BuildCache/FileStyle"), HideLabel]
[InfoBox("资源拷贝方式是否拷贝StreamingAssets")]
[OnValueChanged("SetCopyBuildinFileOption")]
[HideIf("@ dataSetting.selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline")]
public EBuildinFileCopyOption copyBuildinFileOption;
[HideIf("@ selectedBuildPipelines==EBuildPipeline.EditorSimulateBuildPipeline.ToString()")]
public EBuildinFileCopyOption copyBuildinFileOption = EBuildinFileCopyOption.ClearAndCopyAll;
[VerticalGroup("BuildCache/FileStyle"), HideLabel]
[OnValueChanged("SetCopyBuildinFileParams")]
@@ -59,9 +66,11 @@ namespace Stary.Evo.Editor
"@copyBuildinFileOption==EBuildinFileCopyOption.ClearAndCopyByTags||copyBuildinFileOption==EBuildinFileCopyOption.OnlyCopyByTags ")]
public string copyBuildinFileParams;
public AbstractBuildPipelineViewer(BuildAssetDataSetting dataSetting)
public AbstractBuildPipelineViewer(string packageName,string selectedBuildPipelines,string packageVersion)
{
this.dataSetting = dataSetting;
//this.dataSetting = dataSetting;
SetBuildPackageData(packageName,selectedBuildPipelines,packageVersion);
useAssetDependencyDBToggle = true;
SetUseAssetDependencyDB();
clearBuildCacheToggle = false;
@@ -74,26 +83,32 @@ namespace Stary.Evo.Editor
SetCopyBuildinFileOption();
}
public void SetBuildPackageData(string packageName,string selectedBuildPipelines,string packageVersion)
{
this.packageName = packageName;
this.selectedBuildPipelines = selectedBuildPipelines;
this.packageVersion = packageVersion;
}
#region AssetBuild
private void SetCompression()
{
AssetBundleBuilderSetting.SetPackageCompressOption(dataSetting.packageName, dataSetting.selectedBuildPipelines.ToString(),
AssetBundleBuilderSetting.SetPackageCompressOption(packageName, selectedBuildPipelines,
compression);
}
private void SetFileNameStyle()
{
AssetBundleBuilderSetting.SetPackageFileNameStyle(dataSetting.packageName, dataSetting.selectedBuildPipelines.ToString(),
AssetBundleBuilderSetting.SetPackageFileNameStyle(packageName, selectedBuildPipelines,
fileNameStyle);
}
private void SetCopyBuildinFileOption()
{
AssetBundleBuilderSetting.SetPackageBuildinFileCopyOption(dataSetting.packageName,
dataSetting.selectedBuildPipelines.ToString(), copyBuildinFileOption);
AssetBundleBuilderSetting.SetPackageBuildinFileCopyOption(packageName,
selectedBuildPipelines, copyBuildinFileOption);
//PlayerPrefs.SetInt("CopyBuildinFileOption", (int)copyBuildinFileOption);
}
@@ -101,21 +116,21 @@ namespace Stary.Evo.Editor
private void SetCopyBuildinFileParams()
{
AssetBundleBuilderSetting.SetPackageBuildinFileCopyParams(dataSetting.packageName,
dataSetting.selectedBuildPipelines.ToString(), copyBuildinFileParams);
AssetBundleBuilderSetting.SetPackageBuildinFileCopyParams(packageName,
selectedBuildPipelines, copyBuildinFileParams);
//PlayerPrefs.SetInt("CopyBuildinFileOption", (int)copyBuildinFileOption);
}
public void SetBuildCacheToggle()
{
AssetBundleBuilderSetting.SetPackageClearBuildCache(dataSetting.packageName, dataSetting.selectedBuildPipelines.ToString(),
AssetBundleBuilderSetting.SetPackageClearBuildCache(packageName, selectedBuildPipelines,
clearBuildCacheToggle);
}
private void SetUseAssetDependencyDB()
public void SetUseAssetDependencyDB()
{
AssetBundleBuilderSetting.SetPackageUseAssetDependencyDB(dataSetting.packageName, dataSetting.selectedBuildPipelines.ToString(),
AssetBundleBuilderSetting.SetPackageUseAssetDependencyDB(packageName, selectedBuildPipelines,
useAssetDependencyDBToggle);
}
@@ -139,8 +154,8 @@ namespace Stary.Evo.Editor
protected IEncryptionServices CreateEncryptionInstance()
{
var encyptionClassName =
AssetBundleBuilderSetting.GetPackageEncyptionServicesClassName(dataSetting.packageName,
dataSetting.selectedBuildPipelines.ToString());
AssetBundleBuilderSetting.GetPackageEncyptionServicesClassName(packageName,
selectedBuildPipelines);
var encryptionClassTypes = EditorTools.GetAssignableTypes(typeof(IEncryptionServices));
var classType = encryptionClassTypes.Find(x => x.FullName.Equals(encyptionClassName));
if (classType != null)