[opt] (编辑器下)如果有多个资源的Package,组件提供一个下拉,使用Yoo收集器的列表

This commit is contained in:
chengshengfei
2024-05-28 19:16:45 +08:00
parent 24d7dbc677
commit dd37d130da
2 changed files with 42 additions and 2 deletions

View File

@@ -1,5 +1,7 @@
using System; using System;
using System.Collections.Generic;
using UnityEditor; using UnityEditor;
using YooAsset.Editor;
namespace TEngine.Editor.Inspector namespace TEngine.Editor.Inspector
{ {
@@ -34,10 +36,12 @@ namespace TEngine.Editor.Inspector
private SerializedProperty m_AssetPriority = null; private SerializedProperty m_AssetPriority = null;
private SerializedProperty m_DownloadingMaxNum = null; private SerializedProperty m_DownloadingMaxNum = null;
private SerializedProperty m_FailedTryAgain = null; private SerializedProperty m_FailedTryAgain = null;
private SerializedProperty m_PackageName = null;
private int m_ResourceModeIndex = 0; private int m_ResourceModeIndex = 0;
private int m_VerifyIndex = 0; private int m_VerifyIndex = 0;
private int m_PackageNameIndex = 0;
private string[] m_PackageNames;
public override void OnInspectorGUI() public override void OnInspectorGUI()
{ {
base.OnInspectorGUI(); base.OnInspectorGUI();
@@ -77,6 +81,18 @@ namespace TEngine.Editor.Inspector
EditorGUI.EndDisabledGroup(); EditorGUI.EndDisabledGroup();
m_PackageNames = GetBuildPackageNames().ToArray();
m_PackageNameIndex = Array.IndexOf(m_PackageNames, m_PackageName.stringValue);
if (m_PackageNameIndex < 0)
{
m_PackageNameIndex = 0;
}
m_PackageNameIndex = EditorGUILayout.Popup("Package Name", m_PackageNameIndex, m_PackageNames);
if (m_PackageName.stringValue != m_PackageNames[m_PackageNameIndex])
{
m_PackageName.stringValue = m_PackageNames[m_PackageNameIndex];
}
int milliseconds = EditorGUILayout.DelayedIntField("Milliseconds", m_Milliseconds.intValue); int milliseconds = EditorGUILayout.DelayedIntField("Milliseconds", m_Milliseconds.intValue);
if (milliseconds != m_Milliseconds.intValue) if (milliseconds != m_Milliseconds.intValue)
{ {
@@ -236,6 +252,7 @@ namespace TEngine.Editor.Inspector
m_AssetPriority = serializedObject.FindProperty("m_AssetPriority"); m_AssetPriority = serializedObject.FindProperty("m_AssetPriority");
m_DownloadingMaxNum = serializedObject.FindProperty("m_DownloadingMaxNum"); m_DownloadingMaxNum = serializedObject.FindProperty("m_DownloadingMaxNum");
m_FailedTryAgain = serializedObject.FindProperty("m_FailedTryAgain"); m_FailedTryAgain = serializedObject.FindProperty("m_FailedTryAgain");
m_PackageName = serializedObject.FindProperty("packageName");
RefreshModes(); RefreshModes();
RefreshTypeNames(); RefreshTypeNames();
@@ -251,5 +268,19 @@ namespace TEngine.Editor.Inspector
{ {
serializedObject.ApplyModifiedProperties(); serializedObject.ApplyModifiedProperties();
} }
/// <summary>
/// 获取构建包名称列表,用于下拉可选择
/// </summary>
/// <returns></returns>
private List<string> GetBuildPackageNames()
{
List<string> result = new List<string>();
foreach (var package in AssetBundleCollectorSettingData.Setting.Packages)
{
result.Add(package.PackageName);
}
return result;
}
} }
} }

View File

@@ -40,7 +40,16 @@ namespace TEngine
/// <summary> /// <summary>
/// 资源包名称。 /// 资源包名称。
/// </summary> /// </summary>
public string PackageName = "DefaultPackage"; [SerializeField] private string packageName = "DefaultPackage";
/// <summary>
/// 资源包名称。
/// </summary>
public string PackageName
{
get => packageName;
set => packageName = value;
}
/// <summary> /// <summary>
/// 资源系统运行模式。 /// 资源系统运行模式。