[Unityエディター拡張] タイトルバーを追加する

ヨメレバCSS
オリジナルCSS

タイトルバー…インスペクタにあるこういうやつ

2_10_transformtitlebar

を追加したいときは、InspectorTitlebarを使います。

EditorGUILayoutSample obj = target as EditorGUILayoutSample;
obj.folderValue = EditorGUILayout.InspectorTitlebar (obj.folderValue, obj);
if (obj.folderValue) {
	obj.name = EditorGUILayout.TextField ("name", obj.name);
	obj.address = EditorGUILayout.TextArea (obj.address, GUILayout.Height (50));
}

とすると、

2_10_inspectorttilebar

こんな感じに。

InspectorTitlebarの戻り値がtrueのときは、このフォルダが開いているということで、

追加で表示するフィールドを設定します。

この第二引数に渡すのはUnityEngine.Objectを継承しているオブジェクト。

これによってUnityのほうで自動的に適切な描画をしてくれるようです。

そのためのものなので、それによって特に値が変更されたりはしないよう。

試しにtransformを渡すと、

obj.folderValue = EditorGUILayout.InspectorTitlebar (obj.folderValue, obj.transform);

こんな感じに。

2_10_inspectortitlebar2

使い方としては、InspectorTitlebarに渡したオブジェクトに関連する変更を、その下のフィールドでするという感じなんでしょうね。もちろん。

ちなみに第二引数はObjectの配列の場合もあるようなので、試してみたのですが、

obj.folderValue = EditorGUILayout.InspectorTitlebar (obj.folderValue, new UnityEngine.Object[]{obj, obj.transform});

2_10_inspectortitlebar3

こう表示が変わるだけで、どう使うのか今ひとつわかりませんでしたね…

調べてもわからないのでとりあえずそっとしておく感じにする。

スポンサーリンク
GoogleAdSence レクタングル(大)

シェアする

スポンサーリンク
GoogleAdSence レクタングル(大)