//放置在Editor文件夹内 using UnityEngine; using UnityEditor; [CustomEditor(typeof(Transform))] public class Script_03_08 :Editor { public override void OnInspectorGUI() { if (GUILayout.Button("按钮一个")) { } base.OnInspectorGUI(); } }
原有的结构被破坏了,可以通过反射获取原来的方法来执行,这样就不会破坏原有的绘制了。
using UnityEngine; using UnityEditor; using System.Reflection; [CustomEditor(typeof(Transform))] public class Script_03_08 :Editor { private Editor m_Editor; private void OnEnable() { m_Editor = Editor.CreateEditor(target,Assembly.GetAssembly(typeof(Editor)).GetType("UnityEditor.TransformInspector",true)); } public override void OnInspectorGUI() { if (GUILayout.Button("按钮一个")) { } m_Editor.OnInspectorGUI(); } }