Editor personalizado: mantenga la apariencia predeterminada pero agregue más

8

Lo que me gustaría saber es si hay una manera fácil de usar OnInspectorGUI, para reemplazar el inspector por uno que incluya solo uno o dos campos adicionales (de modo que se vea idéntico al editor no personalizado, excepto por la adición de uno o dos campos al final). Parece una molestia recrear cada campo manualmente cuando solo quiero agregar una pequeña cosa, así que tal vez esto ya sea una cosa.

¿O hay alguna manera de decirle fácilmente a la unidad que haga su dibujo predeterminado para un tipo específico de campo? Cuando estaba jugando con esto antes, tuve que comprometerme exactamente con lo que se mostraría, y tendría que escribir manualmente cada campo, lo cual es molesto si cambian los campos públicos en mi (s) clase (s), y hacer con frecuencia durante el desarrollo.

tl; dr: ¿hay alguna forma de simular el comportamiento predeterminado del inspector en un editor personalizado?

volver verdadero
fuente

Respuestas:

6

Llame a esta función desde dentro del método OnInspectorGUI para dibujar el inspector automático. Es útil que no desee rehacer todo el inspector, pero desea agregarle algunos botones.

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
fuente