1. 继承Editor,重写OnInspectorGUI方法
效果
实现
定义一个测试类TestClass,一个可序列化类DataClass
[CreateAssetMenu]
public class TestClass : ScriptableObject
{
[Range(0, 10)]
public int intData;
public string stringData;
public List<DataClass> dataList;
}
[System.Serializable]
public class DataClass
{
[Range(0, 100)]
public int id;
public Vector3 position;
public List<int> list;
}
//指定类型
[CustomEditor(typeof(TestClass))]
public class TestClassEditor : Editor
{
SerializedProperty intField;
SerializedProperty stringField;
void OnEnable()
{
//获取指定字段
intField = serializedObject.FindProperty("intData");
stringField = serializedObject.FindProperty("stringData");
}
public override void OnInspectorGUI()
{
// Update the serializedProperty - always do this in the beginning of OnInspectorGUI.
serializedObject.Update();
EditorGUILayout.IntSlider(intField, 0, 100, new GUIContent(