見出し画像

Bolt で enum を使う

C#でenumを書いてBoltで使う

現状のBoltではこの方法しかない。
この辺は後述で補足するが、今Boltでenumを扱う方法を以下にまとめる。

C#ソースで以下のようなenum定義のみのソースを書く。
C#ソース配置先は特に規定がないので適当なところに作成しておく。

public enum ePlayerState {
   Stop = 0,
   Walk = 1,
   Run = 2
}

Unity画面上部メニューバーから、Tools > Bolt > Update Unit Options
次にような警告がConsoleに出ていたら、Tools > Bolt > Build Unit Options もやっておく。

6 unit options failed to load and were skipped.
Try rebuilding the unit options with 'Tools > Bolt > Build Unit Options' to purge outdated units.

上記を行うと、C#ソースをスキャンしてBoltの内部データベースに取り込んで更新するらしい。
これでBoltの各所で enum名 ePlayState  が使用できるようになる。

例えば、variable の Type で (enums) 選択、ePlayState と入力すると自動補完で候補がでてきて選択できる。
以下は enum ePlayState型の変数の作成例。

画像1

enum用のswitchノードがあるので、以下のような感じで分岐が組める。

画像2


Boltのenumについて補足

ヴィジュアルスクリプティングなのにC#ソースを書かせるところは非常に気に入らない。

以前は Enum Generator というパッケージが使えてGUI操作できたらしい。
https://support.ludiq.io/communities/5/topics/1482-enum-generator
現在これは更新が止まっていて、Bolt v1.4.1以降は別途実装するような話が書かれている。が、現在これに相当する機能はない。

これはBolt2でGUI経由でのenum作成実装がくる予定とのこと。


なんとなくUnity Forumをみている印象だと、Boltは現状維持で最低限の移管ですませて、Unity的な本命はBolt2なのかもしれない?。







この記事が気に入ったらサポートをしてみませんか?