カスタムエディター-デフォルトの外観を維持しますが、さらに追加します


8

OnInspectorGUIを使用して、インスペクターを1つまたは2つの追加フィールドのみを含むものに置き換える簡単な方法があるかどうかを知りたいです(1つまたは2つの追加を除いて、非カスタムエディターと同じに見えるように)最後に2つのフィールド)。少しだけ追加したいのに、手動ですべてのフィールドを再作成するのは面倒なようです。

または、特定のタイプのフィールドのデフォルトの描画を行うように統一を簡単に指示する方法はありますか?以前これで遊んでいたとき、私は表示されるものに厳密にコミットする必要があり、手動で各フィールドを書き出す必要がありました---クラスのパブリックフィールドが変更されると面倒です-そしてそれらは開発中に頻繁に行います。

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 ();
    }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.