我正在尝试在Custom Inspector中自定义Array对象,如下图所示。
我无法找到如何做到这一点。 :-(
你能告诉我怎么做吗?任何链接或答案都会非常有用。
以下代码是我到目前为止所做的工作。
myClass.cs
using UnityEngine;
using System.Collections;
public class myClass : MonoBehaviour {
public string[] myArray = new string[0];
void Update () {
// do something
}
}
myClassEditor.cs
using UnityEngine;
using UnityEditor;
using System.Collections;
[CustomEditor(typeof(myClass))]
[CanEditMultipleObjects]
public class myClassEditor : Editor {
SerializedObject serializedObj;
myClass myClassScript;
SerializedProperty myArray;
void OnEnable() {
serializedObj = new SerializedObject (target);
myClassScript = (myClass)target;
myArray = serializedObject.FindProperty ("myArray");
}
public override void OnInspectorGUI() {
serializedObj.Update ();
EditorGUILayout.HelpBox ("Default Inspector", MessageType.None);
DrawDefaultInspector();
EditorGUILayout.HelpBox ("Custom Inspector", MessageType.None);
EditorGUILayout.PropertyField(myArray, new GUIContent("My Custom Array"), true);
serializedObj.ApplyModifiedProperties ();
}
}