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();
          }編輯器

相關文章
相關標籤/搜索