mirror of https://github.com/tuyoogame/YooAsset
58 lines
2.9 KiB
C#
58 lines
2.9 KiB
C#
#if UNITY_2019_4_OR_NEWER
|
|
using System;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEditor.UIElements;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace YooAsset.Editor
|
|
{
|
|
internal class BuiltinBuildPipelineViewer : BuildPipelineViewerBase
|
|
{
|
|
public BuiltinBuildPipelineViewer(string packageName, BuildTarget buildTarget, VisualElement parent)
|
|
: base(packageName, EBuildPipeline.BuiltinBuildPipeline, buildTarget, parent)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// 执行构建
|
|
/// </summary>
|
|
protected override void ExecuteBuild()
|
|
{
|
|
var fileNameStyle = AssetBundleBuilderSetting.GetPackageFileNameStyle(PackageName, BuildPipeline);
|
|
var buildinFileCopyOption = AssetBundleBuilderSetting.GetPackageBuildinFileCopyOption(PackageName, BuildPipeline);
|
|
var buildinFileCopyParams = AssetBundleBuilderSetting.GetPackageBuildinFileCopyParams(PackageName, BuildPipeline);
|
|
var compressOption = AssetBundleBuilderSetting.GetPackageCompressOption(PackageName, BuildPipeline);
|
|
var clearBuildCache = AssetBundleBuilderSetting.GetPackageClearBuildCache(PackageName, BuildPipeline);
|
|
var useAssetDependencyDB = AssetBundleBuilderSetting.GetPackageUseAssetDependencyDB(PackageName, BuildPipeline);
|
|
|
|
BuiltinBuildParameters buildParameters = new BuiltinBuildParameters();
|
|
buildParameters.BuildOutputRoot = AssetBundleBuilderHelper.GetDefaultBuildOutputRoot();
|
|
buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
|
|
buildParameters.BuildPipeline = BuildPipeline.ToString();
|
|
buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle;
|
|
buildParameters.BuildTarget = BuildTarget;
|
|
buildParameters.PackageName = PackageName;
|
|
buildParameters.PackageVersion = GetPackageVersion();
|
|
buildParameters.LegacyDependency = false;
|
|
buildParameters.EnableSharePackRule = true;
|
|
buildParameters.VerifyBuildingResult = true;
|
|
buildParameters.FileNameStyle = fileNameStyle;
|
|
buildParameters.BuildinFileCopyOption = buildinFileCopyOption;
|
|
buildParameters.BuildinFileCopyParams = buildinFileCopyParams;
|
|
buildParameters.CompressOption = compressOption;
|
|
buildParameters.ClearBuildCacheFiles = clearBuildCache;
|
|
buildParameters.UseAssetDependencyDB = useAssetDependencyDB;
|
|
buildParameters.EncryptionServices = CreateEncryptionInstance();
|
|
|
|
BuiltinBuildPipeline pipeline = new BuiltinBuildPipeline();
|
|
var buildResult = pipeline.Run(buildParameters, true);
|
|
if (buildResult.Success)
|
|
EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
|
|
}
|
|
}
|
|
}
|
|
#endif |