繰り返し処理は For Loop ユニットや While Loop ユニットなどを使って行います。
まず準備です。
繰り返し処理テスト用に別の Script Graph を用意します
Scripts フォルダの中に入り、空いている部分を右クリックしてメニューを表示し、Create → Visual Scripting → Script Graph を選ぶ
Scripts フォルダ内に「New Script Graph」というアセットが出来るので「For Script」に名前を変更する
ヒエラルキーの PROGRAM をクリックしてインスペクタを表示する
Script Machine の Graph の If Script と書いてあるセルにアセットフォルダの For Script をドロップする
まずはおなじみの For Loop ユニットです。
設定項目は First、Last、Step の 3 つです。
For Loop ユニットは内部で Index という変数を持っていて、最初に First に指定した値で Index を初期化します。
次に Body と書いてあるコントロール出力ポートに繋がっている処理を実行します。
Body の処理が終わったら Index の数を Step だけ増やします。
その際にもし Index の数が Last 未満の場合は再び Body の処理を実行します。
逆に Index の数が Last 以上の場合は Exit(出口) から繰り返し処理を抜け出します。
では早速図1のサンプルを実行してみて下さい。
First、Last、Step にはそれぞれ 0, 5, 2 と入れました。
実行すると Index の数が 0、2、4 と増えていき、6 になったら繰り返しから抜ける事が分かります。
次もお馴染みの While Loop ユニットです。
While Loop ユニットは値入力ポートへの入力が True の間は Body 処理を繰り返すという処理を行います。
では早速図 2 のサンプルを実行してみて下さい。
実行すると Flow 変数 i の数が 0、1、2 と増えていき、3 になったら繰り返しから抜ける事が分かります。
繰り返し処理から強制的に抜けるユニットは、これまたおなじみの Break Loop ユニットです。
では図 3 のサンプルを実行してみて下さい。
実行すると Flow 変数 i の数が 0、1、2 と増えていきますが、今回は While Loop ユニットの値入力ポートに True が常に入力されているためこのままでは無限に処理を繰り返します。
そこで If ユニットを使って i が 3 以上になったら Break Loop ユニットを使って繰り返しから抜ける様にしてあります。