この手順では前回作成した移動地点の情報を元に、スクリプトによって移動後の地点でミッション(イベント)が発生するかを判定する機能を実装します。
RailPathData クラス内には bool 型の IsMissionTrigger 変数が用意されており、この値が true である場合に、ミッションを実行するようにします。
ミッションは敵の生成処理を行ったり、武器の取得を行ったりするイベント群の総称です。
そのため、この機能を実装することにより、移動後の地点では、敵が出現したり、武器の取得を行うための準備が出来ます。
各クラスの役割と役割を実装するための修正は以下の通りです。
〇RailPathData 新しくミッション判定用の変数を追加する
現在の状態のまま変数を追加する方法もあるが、ここでは RailPathData クラス内に PathDataDetail クラスを新しく作成して経路の情報を1つのクラスにまとめて運用する
◇RailMoveController CheckArrivalDestination メソッド内で GameManager クラス内の CheckMissionTrigger メソッドを実行する
SetUpRailMoveController メソッドを作成して GameManager クラスから実行し、RailMoveController クラスの初期設定を行う
合わせて、SetNextRailPathData メソッドを作成して GameManager クラスから実行し、RailPathData クラスの情報を外部のクラスから引数を通じて受け取るようにする
このメソッド内で移動を実行するメソッドである StartRailMove メソッドを実行するようにする(経路のセットがない限り、移動を実行しないようにする)
よってデバッグ用に Start メソッド内で実行していた StartRailMove メソッドはコメントアウトする
◇GameManager SetMissionTrigger メソッドで、各地点ごとのミッションの発生有無の情報を isMissionTriggers 配列変数として作成しておく
CheckMissionTrigger メソッドが実行されたら、isMissionTriggers 配列変数を確認して、ミッションの発生有無の判定を行う
RailMoveController クラス内の2つのメソッドを実行する命令を用意する
今回は RailMoveController スクリプトの修正を修正し、新しく GameManager スクリプトの作成を行います。