using System; using UnityEditor; using YooAsset; using YooAsset.Editor; namespace Stary.Evo.Editor { [Serializable] public class SimulateBuildPipelineViewer:AbstractBuildPipelineViewer { public SimulateBuildPipelineViewer(string packageName, string selectedBuildPipelines, string packageVersion) : base(packageName, selectedBuildPipelines, packageVersion) { //isSimulate = true; } public override void ExecuteBuild() { var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(packageName, selectedBuildPipelines); var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(packageName, selectedBuildPipelines); var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(packageName, selectedBuildPipelines); EditorSimulateBuildParameters buildParameters = new EditorSimulateBuildParameters(); buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot(); buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BuildPipeline = selectedBuildPipelines; buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle; buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; buildParameters.PackageName = packageName; buildParameters.PackageVersion = packageVersion; buildParameters.VerifyBuildingResult = true; buildParameters.FileNameStyle = fileNameStyle; buildParameters.BuildinFileCopyOption = buildinFileCopyOption; buildParameters.BuildinFileCopyParams = buildinFileCopyParams; buildParameters.EncryptionServices = CreateEncryptionInstance(); EditorSimulateBuildPipeline pipeline = new EditorSimulateBuildPipeline(); var buildResult = pipeline.Run(buildParameters, true); if (buildResult.Success) EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory); } } }