52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
// CombatOrganizerEditor.cs (最终修复版)
|
||
#if UNITY_EDITOR
|
||
using Continentis.MainGame.Character;
|
||
using SLSFramework.UModAssistance;
|
||
using UnityEditor;
|
||
using UnityEngine;
|
||
|
||
namespace Continentis
|
||
{
|
||
[CustomEditor(typeof(CombatOrganizer))]
|
||
public class CombatOrganizerEditor : DataEditor
|
||
{
|
||
private SerializedProperty _playerCharactersProp;
|
||
private SerializedProperty _enemyCharactersProp;
|
||
|
||
private string _pickerTargetListName;
|
||
|
||
// --- 核心修改 1:声明一个用于存储我们自定义样式的变量 ---
|
||
private GUIStyle _boldFoldoutStyle;
|
||
|
||
protected override void OnEnable()
|
||
{
|
||
base.OnEnable();
|
||
_playerCharactersProp = serializedObject.FindProperty("playerCharacters");
|
||
_enemyCharactersProp = serializedObject.FindProperty("enemyCharacters");
|
||
}
|
||
|
||
public override void OnInspectorGUI()
|
||
{
|
||
// --- 核心修改 2:在OnInspectorGUI的开头初始化我们的自定义样式 ---
|
||
// 我们只在需要的时候创建一次,以避免性能开销
|
||
if (_boldFoldoutStyle == null)
|
||
{
|
||
// 以默认的Foldout样式为基础
|
||
_boldFoldoutStyle = new GUIStyle(EditorStyles.foldout);
|
||
// 将字体样式设置为粗体
|
||
_boldFoldoutStyle.fontStyle = FontStyle.Bold;
|
||
}
|
||
|
||
serializedObject.Update();
|
||
|
||
DrawCharacterListGUI<CharacterData>(_playerCharactersProp);
|
||
EditorGUILayout.Space();
|
||
DrawCharacterListGUI<CharacterData>(_enemyCharactersProp);
|
||
|
||
HandleObjectPicker();
|
||
|
||
serializedObject.ApplyModifiedProperties();
|
||
}
|
||
}
|
||
}
|
||
#endif |