毎度同じような CustomInspector
のコードを書くのが面倒になったので作成ツールを作りました
使い方
対象のスクリプトを選択するとシリアライズされているフィールド一覧が表示されるので、必要なフィールド一覧を選択します
Set Script Object
にチェックを入れると、以下のように target の型キャストをしてくれます
_sampleMonoBehaviour = target as SampleMonoBehaviour;
あとは Create Script
をクリックすると、保存先を選ぶ UI が出るので選ぶだけ
出力サンプル
例えば下記コードをこのツールを用いると
using UnityEngine; namespace Sample { public class SampleMonoBehaviour : MonoBehaviour { [SerializeField] private int _intValue; } }
下記のコードが出力されます
using UnityEditor; namespace Sample { [CustomEditor(typeof(SampleMonoBehaviour))] public class SampleMonoBehaviourEditor : Editor { private SampleMonoBehaviour _sampleMonoBehaviour; private SerializedProperty _intValue; private SerializedProperty _script; private void OnEnable() { _script = serializedObject.FindProperty("m_Script"); _intValue = serializedObject.FindProperty("_intValue"); _sampleMonoBehaviour = target as SampleMonoBehaviour; } public override void OnInspectorGUI() { using (new EditorGUI.DisabledScope(true)) { EditorGUILayout.PropertyField(_script); } EditorGUILayout.PropertyField(_intValue); } } }