概要
using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( RectTransform ) )] public sealed class RectTransformEditor : Editor { private static readonly Type DEFAULT_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "UnityEditor.RectTransformEditor" ); private Editor m_defaultEditor; public override void OnInspectorGUI() { if ( m_defaultEditor == null ) { m_defaultEditor = CreateEditor( target, DEFAULT_EDITOR_TYPE ); } GUILayout.Label( "ピカチュウ" ); m_defaultEditor.OnInspectorGUI(); GUILayout.Label( "カイリュー" ); } }
注意
上記の方法で RectTransform の Inspector を拡張すると
ArgumentException: Object at index 0 is null UnityEditor.SerializedObject..ctor (UnityEngine.Object[] objs, UnityEngine.Object context) (at C:/buildslave/unity/build/Editor/Mono/SerializedObject.bindings.cs:39) UnityEditor.Editor.GetSerializedObjectInternal () (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:525) UnityEditor.Editor.get_serializedObject () (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:432) UnityEditor.RectTransformEditor.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/Inspector/RectTransformEditor.cs:100)
スクリプトのコンパイル完了時や Unity 再生時に
上記のエラーが発生してしまうのでご了承ください