Unity 扩展编辑器

  • 扩展Inspector界面
    • 继承自Editor,添加CustomEditorAttribute,传入定制的类型
      • 定制显示的类型要求:
        1. 类型中全部的public 字段都会自动暴露给Inspector编辑器
        2. 类型中非public 字段,可经过使用SerializeFieldAttribute来暴露给Inspector
        3. 使用HideInspectorAttribute可隐藏字段
    • Unity消息接口:
      • private void OnEnable();
      • private void OnDisable();
      • private void OnDestroy();
      • public override void OnInspectorGUI();
    • Editor类自带property: 
      • Object Editor.target {get; set;}  若是类型中暴露给Inspector的字段都是public,使用target便可
      • SerializedObject Editor.serializedObject {get;} 若是类型非public字段,使用SerializeFieldAttribute来暴露给Inspector,则须要使用到serializedObject
        • EditorGUILayout.PropertyField(serializedObject.FindProperty("color"));
        • if (GUI.changed)
          {
          serializedObject.ApplyModifiedProperties();
          }编辑器

相关文章
相关标签/搜索