Merge pull request #77 from Senfee-Cheng/main

[opt] (编辑器下)如果有多个资源的Package,组件提供一个下拉,使用Yoo收集器的列表
This commit is contained in:
ALEXTANG
2024-05-28 19:22:53 +08:00
committed by GitHub
2 changed files with 42 additions and 2 deletions

View File

@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using UnityEditor;
using YooAsset.Editor;
namespace TEngine.Editor.Inspector
{
@@ -34,10 +36,12 @@ namespace TEngine.Editor.Inspector
private SerializedProperty m_AssetPriority = null;
private SerializedProperty m_DownloadingMaxNum = null;
private SerializedProperty m_FailedTryAgain = null;
private SerializedProperty m_PackageName = null;
private int m_ResourceModeIndex = 0;
private int m_VerifyIndex = 0;
private int m_PackageNameIndex = 0;
private string[] m_PackageNames;
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
@@ -77,6 +81,18 @@ namespace TEngine.Editor.Inspector
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);
if (milliseconds != m_Milliseconds.intValue)
{
@@ -236,6 +252,7 @@ namespace TEngine.Editor.Inspector
m_AssetPriority = serializedObject.FindProperty("m_AssetPriority");
m_DownloadingMaxNum = serializedObject.FindProperty("m_DownloadingMaxNum");
m_FailedTryAgain = serializedObject.FindProperty("m_FailedTryAgain");
m_PackageName = serializedObject.FindProperty("packageName");
RefreshModes();
RefreshTypeNames();
@@ -251,5 +268,19 @@ namespace TEngine.Editor.Inspector
{
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>
public string PackageName = "DefaultPackage";
[SerializeField] private string packageName = "DefaultPackage";
/// <summary>
/// 资源包名称。
/// </summary>
public string PackageName
{
get => packageName;
set => packageName = value;
}
/// <summary>
/// 资源系统运行模式。