Benutzerdefinierter Editor - Standard-Look beibehalten, aber weitere hinzufügen

8

Ich würde gerne wissen, ob es mit OnInspectorGUI eine einfache Möglichkeit gibt, den Inspektor durch einen zu ersetzen, der nur ein oder zwei zusätzliche Felder enthält (sodass er bis auf das Hinzufügen eines oder eines nicht mit dem nicht benutzerdefinierten Editor identisch ist zwei Felder am Ende). Es scheint so mühsam, jedes Feld manuell neu zu erstellen, wenn ich nur eine Kleinigkeit hinzufügen möchte - vielleicht ist dies bereits eine Sache.

Oder gibt es eine Möglichkeit, Unity einfach anzuweisen, die Standardzeichnung für einen bestimmten Feldtyp auszuführen? Als ich vorher damit gespielt habe, musste ich mich genau auf das festlegen, was gezeigt werden sollte, und ich musste jedes Feld manuell ausschreiben - was lästig ist, wenn sich die öffentlichen Felder in meiner Klasse (n) ändern - und sie häufig während der Entwicklung tun.

tl; dr - gibt es eine Möglichkeit, das Standardverhalten des Inspektors in einem benutzerdefinierten Editor zu simulieren?

return true
quelle

Antworten:

6

Rufen Sie diese Funktion in der OnInspectorGUI-Methode auf, um den automatischen Inspektor zu zeichnen. Es ist nützlich, dass Sie nicht den gesamten Inspektor wiederholen möchten, sondern ein paar Schaltflächen hinzufügen möchten.

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
quelle