Editor personalizzato: mantieni l'aspetto predefinito ma aggiungi altro


8

Quello che vorrei sapere è se c'è un modo semplice con OnInspectorGUI, per sostituire l'ispettore con uno che include solo uno o due campi aggiuntivi (in modo che appaia identico all'editor non personalizzato, tranne per l'aggiunta di uno o due campi alla fine). Sembra una seccatura ricreare manualmente ogni campo quando voglio solo aggiungere una piccola cosa, quindi forse questa è già una cosa.

O c'è un modo per dire facilmente all'unità di fare il suo disegno predefinito per un tipo specifico di campo? Quando stavo giocando con questo prima, dovevo impegnarmi esattamente in ciò che doveva essere mostrato, e avrei dovuto scrivere manualmente ogni campo --- il che è fastidioso se i campi pubblici nelle mie classi cambiano - e loro fare spesso durante lo sviluppo.

tl; dr - c'è un modo per simulare il comportamento predefinito dell'ispettore in un editor personalizzato?

Risposte:


6

Chiamare questa funzione dall'interno del metodo OnInspectorGUI per disegnare l'ispettore automatico. È utile non ripetere l'intero ispettore, ma aggiungere alcuni pulsanti.

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 ();
    }
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.