1 using UnityEngine; 2 using System.Collections.Generic; 3 using System; 4 public class TestA : MonoBehaviour 5 { 6 public int T_int = 1; 7 public int[] TA_int = new int[] { 1, 2 }; 8 public long T_long = 2; 9 public float T_float = 3;10 public string T_String = "5";11 public Transform T_Transform;12 public Vector3 T_Vector3 = new Vector3(1, 1, 1);13 public ListTL_Vector3 = new List ();14 public ETest T_Enum = ETest.T1;15 [SerializeField]16 public MClass T_class;17 18 public enum ETest19 {20 Null = 0,21 T1,22 T2,23 T324 }25 }26 [Serializable]27 public class MClass28 {29 public int T_int = 1;30 public string T_String = "12";31 public Transform T_Transform;32 }
using UnityEngine;using UnityEditor;[CustomEditor(typeof(TestA))]public class TestAEditor : Editor{ public override void OnInspectorGUI() { TestA t = target as TestA; var so = new SerializedObject(target); so.Update(); t.T_int = EditorGUILayout.IntField("整形", t.T_int); var ctai = so.FindProperty("TA_int"); EditorGUILayout.PropertyField(ctai, new GUIContent("整形数组([])"), true); t.T_long = EditorGUILayout.LongField("长整形", t.T_long); t.T_float = EditorGUILayout.FloatField("浮点形", t.T_float); t.T_String = EditorGUILayout.TextField("字符串", t.T_String); t.T_Transform = (Transform)EditorGUILayout.ObjectField("组件", t.T_Transform, typeof(Transform), true) as Transform; t.T_Vector3 = EditorGUILayout.Vector3Field("向量", t.T_Vector3); var ctav = so.FindProperty("TL_Vector3"); EditorGUILayout.PropertyField(ctav, new GUIContent("向量数组(List)"), true); t.T_Enum = (TestA.ETest)EditorGUILayout.EnumPopup("单项选择枚举", t.T_Enum); var mClass = so.FindProperty("T_class"); EditorGUILayout.PropertyField(mClass,new GUIContent("序列化类"),true); so.ApplyModifiedProperties(); }}