Пользовательский редактор - сохранить внешний вид по умолчанию, но добавить больше

8

Я хотел бы знать, есть ли простой способ с помощью OnInspectorGUI заменить инспектор на тот, который содержит только одно или два дополнительных поля (чтобы он выглядел идентично нестандартному редактору, за исключением добавления одного или два поля в конце). Кажется, что сложно пересоздать каждое поле вручную, когда я просто хочу добавить одну маленькую вещь - так что, возможно, это уже вещь.

Или есть какой-нибудь способ легко сказать, что Unity выполняет рисование по умолчанию для определенного типа поля? Когда я играл с этим раньше, я должен был в точности выполнить то, что должно было быть показано, и мне нужно было бы вручную выписать каждое поле - что неприятно, если публичные поля в моем классе (ах) меняются - и они делать часто во время разработки.

tl; dr - есть ли способ имитировать поведение инспектора по умолчанию в пользовательском редакторе?

вернуть истину
источник

Ответы:

6

Вызовите эту функцию из метода OnInspectorGUI, чтобы нарисовать автоматический инспектор. Полезно, чтобы вы не хотели повторять весь инспектор, но вы хотите добавить к нему несколько кнопок.

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
источник