FC2ブログ

[Unity]Inspectorに垂直方向のグループを表示する

  • Day:2012.12.21 14:13
  • Cat:Unity
Inspectorに垂直方向のグループを表示するためには
EditorGUILayout.BeginVertical
EditorGUILayout.EndVerticalを使用します。

拡張したいコンポーネントのクラス

using UnityEngine;

public class Pokemon : MonoBehaviour
{
// ポッポが出現するかどうか
public bool PidgeyMorning;
public bool PidgeyNoon;
public bool PidgeyNight;

// オタチが出現するかどうか
public bool SentretMorning;
public bool SentretNoon;
public bool SentretNight;

// コラッタが出現するかどうか
public bool RattataMorning;
public bool RattataNoon;
public bool RattataNight;
}
拡張エディタクラス

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Pokemon))]
public class PokemonEditor : Editor
{
// コントロールのオプション
private static readonly GUILayoutOption Option = GUILayout.Width(20);

public override void OnInspectorGUI()
{
var pokemon = target as Pokemon;

EditorGUILayout.PrefixLabel("29ばんどうろ");

EditorGUILayout.BeginHorizontal();

// ポケモンの名前
EditorGUILayout.BeginVertical();
EditorGUILayout.PrefixLabel("ポケモン");
EditorGUILayout.PrefixLabel("ポッポ");
EditorGUILayout.PrefixLabel("オタチ");
EditorGUILayout.PrefixLabel("コラッタ");
EditorGUILayout.EndVertical();

// ポケモンが朝に出現するかどうか
EditorGUILayout.BeginVertical();
EditorGUILayout.LabelField("朝", Option);
pokemon.PidgeyMorning = EditorGUILayout.Toggle(pokemon.PidgeyMorning, Option);
pokemon.SentretMorning = EditorGUILayout.Toggle(pokemon.SentretMorning, Option);
pokemon.RattataMorning = EditorGUILayout.Toggle(pokemon.RattataMorning, Option);
EditorGUILayout.EndVertical();

// ポケモンが昼に出現するかどうか
EditorGUILayout.BeginVertical();
EditorGUILayout.LabelField("昼", Option);
pokemon.PidgeyNoon = EditorGUILayout.Toggle(pokemon.PidgeyNoon, Option);
pokemon.SentretNoon = EditorGUILayout.Toggle(pokemon.SentretNoon, Option);
pokemon.RattataNoon = EditorGUILayout.Toggle(pokemon.RattataNoon, Option);
EditorGUILayout.EndVertical();

// ポケモンが夜に出現するかどうか
EditorGUILayout.BeginVertical();
EditorGUILayout.LabelField("夜", Option);
pokemon.PidgeyNight = EditorGUILayout.Toggle(pokemon.PidgeyNight, Option);
pokemon.SentretNight = EditorGUILayout.Toggle(pokemon.SentretNight, Option);
pokemon.RattataNight = EditorGUILayout.Toggle(pokemon.RattataNight, Option);
EditorGUILayout.EndVertical();

EditorGUILayout.EndHorizontal();
}
}

ss_20121210141617.png

垂直方向のグループを使用することで
コントロールを垂直方向にまとめることができます。

水平方向のグループと垂直方向のグループを組み合わせることで、表を作成することもできます。

Unity Script Reference – EditorGUILayout.BeginVertical
Unity Script Reference – EditorGUILayout.EndVertical

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。