Files
plugin-library/Assets/02.InformationSave/Editor/CustomEditorBaseEditor.cs

27 lines
1.0 KiB
C#
Raw Normal View History

2025-03-26 09:34:52 +08:00
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
namespace Stary.Evo.InformationSave
{
[CustomEditor(typeof(CustomEditorBase), true)]
public class CustomEditorBaseEditor : UnityEditor.Editor
{
private CustomEditorBase _customEditorBase;
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
serializedObject.Update();
_customEditorBase = target as CustomEditorBase;
_customEditorBase.Draw();
//这个函数告诉引擎相关对象所属于的Prefab已经发生了更改。方便当我们更改了自定义对象的属性的时候自动更新到所属的Prefab中
if (GUI.changed && EditorApplication.isPlaying == false)
{
serializedObject.ApplyModifiedProperties();
EditorUtility.SetDirty(_customEditorBase);
EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
}
}
}
}