feat: add bundle type dropdown for editor simulate pipeline

This commit is contained in:
何冠峰
2026-05-13 16:27:40 +08:00
parent dfa9ff6954
commit 6b23927f71
2 changed files with 25 additions and 1 deletions

View File

@@ -30,6 +30,11 @@ namespace YooAsset.Editor
/// </summary> /// </summary>
protected TextField _buildVersionField; protected TextField _buildVersionField;
/// <summary>
/// 构建资源包类型下拉框
/// </summary>
protected DropdownField _buildBundleTypeField;
public override void CreateView(VisualElement parent) public override void CreateView(VisualElement parent)
{ {
@@ -50,6 +55,10 @@ namespace YooAsset.Editor
_buildVersionField = Root.Q<TextField>("BuildVersion"); _buildVersionField = Root.Q<TextField>("BuildVersion");
SetBuildVersionField(_buildVersionField); SetBuildVersionField(_buildVersionField);
// 构建资源包类型
_buildBundleTypeField = Root.Q<DropdownField>("BuildBundleType");
SetBuildBundleTypeField(_buildBundleTypeField);
// 构建按钮 // 构建按钮
var buildButton = Root.Q<Button>("Build"); var buildButton = Root.Q<Button>("Build");
buildButton.clicked += BuildButton_clicked; buildButton.clicked += BuildButton_clicked;
@@ -80,7 +89,7 @@ namespace YooAsset.Editor
buildParameters.BuildOutputRoot = BundleBuilderHelper.GetDefaultBuildOutputRoot(); buildParameters.BuildOutputRoot = BundleBuilderHelper.GetDefaultBuildOutputRoot();
buildParameters.BundledFileRoot = BundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BundledFileRoot = BundleBuilderHelper.GetStreamingAssetsRoot();
buildParameters.BuildPipeline = PipelineName.ToString(); buildParameters.BuildPipeline = PipelineName.ToString();
buildParameters.BuildBundleType = (int)EBundleType.VirtualAssetBundle; buildParameters.BuildBundleType = (int)Enum.Parse(typeof(EBundleType), _buildBundleTypeField.value);
buildParameters.BuildTarget = BuildTarget; buildParameters.BuildTarget = BuildTarget;
buildParameters.PackageName = PackageName; buildParameters.PackageName = PackageName;
buildParameters.PackageVersion = _buildVersionField.value; buildParameters.PackageVersion = _buildVersionField.value;
@@ -94,5 +103,19 @@ namespace YooAsset.Editor
if (buildResult.Success) if (buildResult.Success)
EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory); EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
} }
private void SetBuildBundleTypeField(DropdownField dropdownField)
{
var bundleTypes = Enum.GetValues(typeof(EBundleType))
.Cast<EBundleType>()
.Where(type => type.ToString().StartsWith("Virtual"))
.Select(type => type.ToString())
.ToList();
dropdownField.choices = bundleTypes;
dropdownField.SetValueWithoutNotify(EBundleType.VirtualAssetBundle.ToString());
dropdownField.style.width = StyleWidth;
UIElementsTools.SetElementLabelMinWidth(dropdownField, LabelMinWidth);
}
} }
} }

View File

@@ -2,6 +2,7 @@
<ui:VisualElement name="BuildContainer"> <ui:VisualElement name="BuildContainer">
<ui:TextField picking-mode="Ignore" label="Build Output" name="BuildOutput" /> <ui:TextField picking-mode="Ignore" label="Build Output" name="BuildOutput" />
<ui:TextField picking-mode="Ignore" label="Build Version" name="BuildVersion" /> <ui:TextField picking-mode="Ignore" label="Build Version" name="BuildVersion" />
<ui:DropdownField label="Build Bundle Type" name="BuildBundleType" />
<ui:VisualElement name="ExtensionContainer" /> <ui:VisualElement name="ExtensionContainer" />
<ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" /> <ui:Button text="Click Build" display-tooltip-when-elided="true" name="Build" style="height: 50px; background-color: rgb(40, 106, 42); margin-top: 10px;" />
</ui:VisualElement> </ui:VisualElement>