インスペクタにプルダウンリストを表示するには、enum
を使う。
たとえば、iTweenプラグインのイージングタイプをプルダウンリストで指定するには、
public enum EaseType { easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, tQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInSine, easeOutSine, easeInOutSine, easeInExpo, easeOutExpo, easeInOutExpo, easeInCirc, easeOutCirc, easeInOutCirc, linear, spring, easeInBounce, easeOutBounce, easeInOutBounce, easeInBack, easeOutBack, easeInOutBack, easeInElastic, easeOutElastic, easeInOutElastic } [SerializeField] EaseType easeType = EaseType.easeOutQuart;
のように書けばいい。
public enum..
でenumクラス("EaseTyp")を定義し、EaseType easeType
でそのクラスの変数を定義している。
インスペクタには次のように表示される。
ところで、enumの実態は配列のIndex番号の整数なので「演算」ができる。たとえば、
Debug.Log("EaseType.easeInBounce "+(EaseType.easeInBounce+1)); //'easeOutBounce' を出力
となる。
これはこれで便利なのだが、iTweenのイージングタイプのように、文字列(string)変数として使いたい場合もある。
この解決策は、ToString()
メソッドを使うこと。
string easetype = easeType.ToString(); //文字列に変換
とすれば、"easeInBounce"などの文字列を得ることができる。