EnumSortDrawer

EnumSortDrawerとはUnity Asset Storeで販売しているGUIを拡張するためのアセットです。

 

用途

Unity上でenumをSerialize Fieldとして定義するとInspector上でPopupListとして表示されてます。

ただこのリストはenumで定義されている順番にしか表示することができません。
もし並びを昇順、降順でソートしたいときは自前でEditorを拡張する必要があります。

EnumSortDrawerではその拡張を自動で行うAssetです。

 

アセットで出来ること

名前の通りenumのソート設定ができます。
※通常、昇順。降順の3パターンが指定可能です。

このアセットではenumのソートと同時に文字列によるフィルターも掛けるが出来ます。
フィルター機能を有効にすることで専用のテキストエリアが表示されます。

そのテキストエリア上にaと入力するとaが含まれるenumだけが表示されます。

使用方法

定義しているenumに対して下記を記述することでInspector上の表示が変更されます。

[UnityEditor.CustomPropertyDrawer(typedof(任意のenum))]
public PropertyDrawer : GWL.EnumSortDrawer<任意のenum> {}

これだけで使用ができます。
もしフィルター機能を有効にする場合は下記のように記載します。

[UnityEditor.CustomPropertyDrawer(typedof(任意のenum))]
public PropertyDrawer : GWL.EnumSortDrawer<任意のenum>
{
	protected ovverride bool Searchable { get { return true; } }
}

使用方法は以上です。

ライセンスについて

チームでこのアセットを利用する場合は代表者が購入していただければ1ライセンスで利用をしていただいて問題ありません。

 

開発規模が大きくなるとenumの並びは変えられないけどソートやフィルター機能が欲しいこともある可と思います。
そんな時は是非ともお試しください。

その他に質問などがありましたらお問い合わせより気軽にご連絡ください。