Unity:enumで列挙型を宣言してInspectorウィンドウにドロップダウンリストで表示する

Unity の [Inspector]ウィンドウには変数の値を入力するためのフィールドやスライダーバーが表示できて便利ですが、ドロップダウンリストを表示するには?

調べると、 定数を使うとドロップダウンリストを表示できることが分かりました。具体的にはスクリプトで enum を使って列挙型を宣言するということなので、実際に試してみました。

そもそも列挙型って何?

列挙型(enum)とは、複数の変数に一連の整数値を付けると便利な場合に使用します。
列挙型で定義される変数はメンバと言います。デフォルトでは定義されたメンバの順に0(ゼロ)から整数値が付けられます。最初の値を0(ゼロ)以外で定義することも可能です。
また途中のメンバから付けられる整数値を変えることもできます。
出典:【C言語入門】列挙型(enum)の使い方 侍エンジニア塾ブログ – プログラミング入門者向けサイト

ということで、変数をまとめて管理できるようです。

Inspector ウィンドウにドロップダウンリストを表示するサンプルコード

定数 = 値が変わらない変数、ということで、ゲーム実行中に値が変わらないシーンファイル名を使ってみることにします。トリガーコライダーコンポーネントと衝突したらシーンをロードするサンプルコードを作ってみました。

今回のつまづき点

列挙型の列挙値を格納する変数の型を使用する値に合わせて変換する必要がある点です。サンプルコードでは列挙値を格納した変数 sceneName を ToString() で文字列に変換しています。

Inspector ウィンドウの表示

オブジェクトにスクリプトをアタッチすると、[Inspector]ウィンドウでこのように表示されます。

参考Webサイト

【Unity入門】1番簡単なenumの覚え方!綺麗なプログラムは定数から! 侍エンジニア塾ブログ(Samurai Blog) – プログラミング入門者向けサイト

プログラムを組んでいく上で、可読性を維持するために定数は欠かせません! そんな定数を列挙して作成出来る、enumについて今回は見ていきましょう。 enumをちゃんと利用すれば、プログラムが綺麗になること請け合いですよ! ぜひ利用していない初心者は、これを機にに扱えるようになってください。 【前知識】そもそも定数とは? ...