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
|