2025-03-31 11:16:52 +08:00
|
|
|
using System;
|
|
|
|
|
using UnityEditor;
|
2025-05-07 10:50:44 +08:00
|
|
|
using UnityEngine;
|
2025-03-31 11:16:52 +08:00
|
|
|
using YooAsset;
|
|
|
|
|
using YooAsset.Editor;
|
|
|
|
|
|
|
|
|
|
namespace Stary.Evo.Editor
|
|
|
|
|
{
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class RawfileBuildpipelineViewer:AbstractBuildPipelineViewer
|
|
|
|
|
{
|
|
|
|
|
public RawfileBuildpipelineViewer(BuildAssetDataSetting packageName) : base(packageName)
|
|
|
|
|
{
|
2025-04-11 09:56:06 +08:00
|
|
|
// isSimulate = false;
|
|
|
|
|
// isRaw = true;
|
2025-03-31 11:16:52 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public override void ExecuteBuild()
|
|
|
|
|
{
|
|
|
|
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(dataSetting.packageName, dataSetting.selectedBuildPipelines);
|
|
|
|
|
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(dataSetting.packageName, dataSetting.selectedBuildPipelines);
|
|
|
|
|
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(dataSetting.packageName, dataSetting.selectedBuildPipelines);
|
|
|
|
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(dataSetting.packageName, dataSetting.selectedBuildPipelines);
|
|
|
|
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(dataSetting.packageName, dataSetting.selectedBuildPipelines);
|
|
|
|
|
|
|
|
|
|
RawFileBuildParameters buildParameters = new RawFileBuildParameters();
|
|
|
|
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
|
|
|
|
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
|
|
|
|
buildParameters.BuildPipeline = dataSetting.selectedBuildPipelines.ToString();
|
|
|
|
|
buildParameters.BuildBundleType = (int)EBuildBundleType.RawBundle;
|
|
|
|
|
buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget;
|
|
|
|
|
buildParameters.PackageName = dataSetting.packageName;
|
|
|
|
|
buildParameters.PackageVersion =dataSetting.GetBuildPackageVersion();
|
|
|
|
|
buildParameters.VerifyBuildingResult = true;
|
|
|
|
|
buildParameters.FileNameStyle = fileNameStyle;
|
|
|
|
|
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
|
|
|
|
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
|
|
|
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
|
|
|
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
|
|
|
|
buildParameters.EncryptionServices = CreateEncryptionInstance();
|
|
|
|
|
|
|
|
|
|
RawFileBuildPipeline pipeline = new RawFileBuildPipeline();
|
|
|
|
|
var buildResult = pipeline.Run(buildParameters, true);
|
|
|
|
|
if (buildResult.Success)
|
2025-04-11 09:56:06 +08:00
|
|
|
{
|
2025-05-07 10:50:44 +08:00
|
|
|
Debug.Log($"Build Success! 【{buildResult.OutputPackageDirectory}】");
|
|
|
|
|
// EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
|
2025-04-11 09:56:06 +08:00
|
|
|
base.ExecuteBuild();
|
|
|
|
|
}
|
2025-03-31 11:16:52 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|