Unity的Editor代码总结:
1:使用Unity自带的属性
比如AddComponentMenu(),RequireComponent(),ContextMenu(),Range(),Multiline(),Header(),ToolTip(),Space()
2:为某个脚本编写Editor代码,实现自定义显示
using Editor;
[CustomEditor(typeof(T))]
public class TInspector : Editor
{
T t;
void OnEnable()
{
t = (T)target;
}
public override void OnInspectorGUI()
{
//自定义显示
}
}
3:编写EditorWindow
using UnityEditor;
public class MyWindow : EditorWindow
{
MyWindow()
{
this.titleContent = new GUIContent(“My First Window”);
}
[MenuItem("Tool/OpenWindow)]
static void ShowWindow()
{
EditorWindow.GetWindow(typeof(MyWindow));
}
void OnGUI()
{
}
}
Unity FindProperty和FindPropertyRelative的区别
serializedObject.FindProperty()
serializedProperty.FindPropertyRelative()
前者是查找序列化物体下的属性
后者是序列化物体下的某个property下的属性