##Bolt
ノードベースのビジュアルスクリプティングツールです。
最近?無料で使えるようになったそうですね。
アセットストアから落としてくれば使えます。
Bolt:ストアページ
今回はBoltでタイマーを実装しようと思います。
##バージョン情報
Unity 2019.4.8f1
Bolt Version 1.4.13
##下準備
Boltをアセットストアからインポートしたら
Install Bolt
というフォルダの配下にPackageが配置されます。
2つあるのでBolt_1_4_13_NET4
を選択しインポートします。
この辺りの手順はバージョンによっては
PackageManager経由でインポートするようになってたりするので
手元のUnityのバージョンに合わせて対応必要かもです。
次に表示の設定です。右がプログラマーにわかりやすいような表記になっています。
今回は右の設定で進みます。
次にAssemblyの設定です。
自作ノードなどもここで追加することができるようです。
今回は特に変更しないのでNextでそのまま進みます。
次にTypeの設定です。
ここも自作ノードなど追加時に設定します。
Generateで完了です。
最後にHierarchy上にEmptyなオブジェクトを追加し、
Flow Machine
を追加しておきます。自動でVariablesコンポーネントも付与されます。
##Variables
Variablesは文字通り変数です。
Inspectorで設定しておけばノードで参照できます。
下記はObject Variable
の設定です。
Graph内で完結する変数はGraph Variable
と呼ばれます。
Graph Variable
を設定するには下記のようにWindowからVariablesを追加します。
##ノード全容
まずはボタン押下でタイマー開始のフラグを立てます。
"どのボタンを押したか"というのはObject
のGet Variables
で
変数名を指定して取得します。
次にフラグのチェックです。
Updateからノードを繋いで毎フレームボタン押下のフラグをチェックします。
また、秒数が0になったときにはタイマーを止めたいのでそのチェックも行っています。
次のブロックでは用意した変数の値からDeltaTimeを毎フレーム引いて、
その値の小数点以下をCeilで切り上げています。
これでカウントダウンのロジックは完成です。
最後にカウントダウンをViewに反映します。
テキストとなるゲームオブジェクトの変数名を指定して参照し、
先ほど算出したカウントを文字列としてテキストにセットします。
##できたもの