Files
plugin-library/Assets/Main/HotfixUpdateScript/Editor/HybridClREntranceEditor.cs

51 lines
1.5 KiB
C#
Raw Normal View History

2025-05-23 18:26:47 +08:00
using Stary.Evo.Editor;
using UnityEditor;
using UnityEngine;
namespace Stary.Evo
{
[CustomEditor(typeof(HybridClREntrance))]
public class HybridClREntranceEditor : UnityEditor.Editor
{
/// <summary>
/// 序列化属性在OnEnable中获取
/// </summary>
[HideInInspector]
private SerializedProperty domain;
private string[] domainNames;
private void OnEnable()
{
domain = serializedObject.FindProperty("domain");
domainNames = CreatAssetWindow.GetCreatDomainAllName();
}
public override void OnInspectorGUI()
{
serializedObject.Update();
// 获取当前选中的索引
int selectedIndex = System.Array.IndexOf(domainNames, domain.stringValue);
if (selectedIndex < 0) selectedIndex = 0; // 默认选中第一个
// 绘制下拉选择框
selectedIndex = EditorGUILayout.Popup("Domain", selectedIndex, domainNames);
// 更新选择的域名
domain.stringValue = domainNames[selectedIndex];
serializedObject.ApplyModifiedProperties();
HybridClREntrance hybridClREntrance = target as HybridClREntrance;
if (GUILayout.Button("打开Domain"))
{
hybridClREntrance.OpenDomain();
}
if (GUILayout.Button("关闭Domain"))
{
hybridClREntrance.CloseDomain();
}
}
}
}