mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
[+] EditorResourceBuilder
[+] EditorResourceBuilder
This commit is contained in:
59
Assets/TEngine/Editor/Resource/EditorResourceBuilder.cs
Normal file
59
Assets/TEngine/Editor/Resource/EditorResourceBuilder.cs
Normal 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;
|
||||
}
|
||||
}
|
11
Assets/TEngine/Editor/Resource/EditorResourceBuilder.cs.meta
Normal file
11
Assets/TEngine/Editor/Resource/EditorResourceBuilder.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb878012ff31c6743b2218a15b7fc654
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user