FC2ブログ

[Unity]Inspectorにint型のポップアップメニューを表示する

  • Day:2012.12.04 19:04
  • Cat:Unity
Inspectorにint型のポップアップメニューを表示するためには
EditorGUILayout.IntPopupを使用します。

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

using UnityEngine;

public class Pokemon : MonoBehaviour
{
public int HP;
}
拡張エディタクラス

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Pokemon))]
public class PokemonEditor : Editor
{
private static readonly string[] DisplayedHP = { "低い", "普通", "高い" };
private static readonly int[] OptionHP = { 50, 100, 150 };

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

pokemon.HP = EditorGUILayout.IntPopup("HP", pokemon.HP, DisplayedHP, OptionHP);
}
}

ss_20121120190403.png

int型のポップアップメニューを使用することで
コンポーネントの特定の値しか取らない要素を簡単に変更することができます。

EditorGUILayout.IntPopupはint型の値を返します。
第3引数には表示用の文字列を配列で設定します。

EditorGUILayout.Popupとの違いは、戻り値を自由に変更できることです。
EditorGUILayout.Popupは0から順番に1ずつ増加した値を取得できます。
EditorGUILayout.IntPopupは第4引数に設定した配列を元に値を取得できます。

Unity Script Reference – EditorGUILayout.IntPopup

Comment

Comment Form
公開設定

Trackback


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