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に反映します。
テキストとなるゲームオブジェクトの変数名を指定して参照し、
先ほど算出したカウントを文字列としてテキストにセットします。