Editor Kustom - pertahankan tampilan default tetapi tambahkan lebih banyak

8

Yang ingin saya ketahui adalah jika ada cara mudah menggunakan OnInspectorGUI, untuk mengganti inspektur dengan yang hanya mencakup satu atau dua bidang tambahan (sehingga terlihat identik dengan editor non-kustom, kecuali untuk penambahan satu atau dua bidang di akhir). Sepertinya sangat merepotkan untuk membuat ulang setiap bidang secara manual ketika saya hanya ingin menambahkan satu hal kecil - jadi mungkin ini sudah menjadi masalah.

Atau apakah ada cara untuk dengan mudah memberitahu persatuan untuk melakukan itu menggambar default untuk jenis bidang tertentu? Ketika saya bermain dengan ini sebelumnya, saya harus berkomitmen untuk persis apa yang akan ditampilkan, dan saya harus secara manual menulis setiap bidang --- yang mengganggu jika bidang publik di kelas saya (s) berubah - dan mereka lakukan sering selama pengembangan.

tl; dr - apakah ada cara untuk mensimulasikan perilaku default inspektur dalam editor khusus?

kembali benar
sumber

Jawaban:

6

Panggil fungsi ini dari dalam metode OnInspectorGUI untuk menggambar inspektur otomatis. Berguna Anda tidak ingin mengulang seluruh inspektur, tetapi Anda ingin menambahkan beberapa tombol untuk itu.

http://docs.unity3d.com/ScriptReference/Editor.DrawDefaultInspector.html

// This example shows a custom inspector for an
// object "MyPlayer", which has a variable speed.
using UnityEngine;
using UnityEditor;
using System.Collections;

[CustomEditor(typeof(MyPlayer))]
public class Example : Editor
{
    public override void OnInspectorGUI()
    {
        MyPlayer targetPlayer = (MyPlayer)target;
        EditorGUILayout.LabelField ("Some help", "Some other text");

        targetPlayer.speed = EditorGUILayout.Slider ("Speed", targetPlayer.speed, 0, 100);

        // Show default inspector property editor
        DrawDefaultInspector ();
    }
}
Rakka Rage
sumber