[+] EditorResourceBuilder

[+] EditorResourceBuilder
This commit is contained in:
ALEXTANG
2023-05-10 00:16:23 +08:00
parent eac9d4a68e
commit f32d42db62
2 changed files with 70 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
using UnityEditor;
using UnityEngine;
using YooAsset.Editor;
public static class EditorResourceBuilder
{
public static void Build()
{
BuildInternal(BuildTarget.Android,buildPipeline:EBuildPipeline.BuiltinBuildPipeline);
}
public static void BuildInternal(
BuildTarget buildTarget,
string packageVersion = "1.0",
EBuildPipeline buildPipeline = EBuildPipeline.ScriptableBuildPipeline,
EBuildMode buildMode = EBuildMode.IncrementalBuild)
{
Debug.Log($"开始构建 : {buildTarget}");
// 构建参数
string defaultOutputRoot = AssetBundleBuilderHelper.GetDefaultOutputRoot();
BuildParameters buildParameters = new BuildParameters();
buildParameters.OutputRoot = defaultOutputRoot;
buildParameters.BuildTarget = buildTarget;
buildParameters.BuildPipeline = buildPipeline;
buildParameters.BuildMode = buildMode;
buildParameters.PackageName = "DefaultPackage";
buildParameters.PackageVersion = packageVersion;
buildParameters.VerifyBuildingResult = true;
buildParameters.CompressOption = ECompressOption.LZ4;
buildParameters.OutputNameStyle = EOutputNameStyle.HashName;
buildParameters.CopyBuildinFileOption = ECopyBuildinFileOption.None;
// 执行构建
AssetBundleBuilder builder = new AssetBundleBuilder();
var buildResult = builder.Run(buildParameters);
if (buildResult.Success)
{
Debug.Log($"构建成功 : {buildResult.OutputPackageDirectory}");
}
else
{
Debug.LogError($"构建失败 : {buildResult.FailedInfo}");
}
}
// 从构建命令里获取参数示例
private static string GetBuildPackageName()
{
foreach (string arg in System.Environment.GetCommandLineArgs())
{
if (arg.StartsWith("buildPackage"))
return arg.Split("="[0])[1];
}
return string.Empty;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bb878012ff31c6743b2218a15b7fc654
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: