プレイヤーがどういった選択肢でゲームを進行しているのかを把握し、それに合わせて条件つきの分岐を判定していくようにします。
プレイヤーが選択した分岐の選択肢については、GameDataスクリプトに新しくList<int>型の変数を用意し、
そちらに、選択を行うたびに順次、選択した分岐の番号を追加していくようにします。
例えば、最初の分岐で2番の番号を持つ分岐を選択した場合には、このListに 2 という番号を登録しておきます。
これを選択肢を選ぶたびに追加していきます。そうすることで、プレイヤーが選択してきたすべての選択肢を確認することが出来ます。
この情報を条件の要素として利用し、このListに含まれている番号を条件を満たしている番号として使うようにします。
そのためにまず、Excelファイルでの分岐番号の持たせ方を変更します。
いままでは分岐の数に合わせてカンマ区切りで番号のみを登録していましたが、条件付きの分岐番号の場合には、半角スラッシュ / を使って
1つの分岐番号に2つの情報を持たせるようにします。最初の番号が条件となる分岐の番号、2番目の番号が今までと同じ分岐の番号です。
ゲーム内では、1番目の番号を分岐の条件番号として判定し、その番号がGameDataのListに登録されている場合に限り、2番目の番号を分岐用のボタンとして生成します。
"4/6, 8, 2"
条件を持たない分岐番号は、今までと同じように分岐する番号のみを書きます。
上記の例では、分岐は3つ存在し、その内の最初の分岐には条件があり、残る2つは条件なしで生成される分岐になります。
最初の分岐番号は、 4 という番号の分岐を通過している(GameDataのListに登録がある)場合に限り、 6 という分岐を生成するようになります。