Open fukuchang opened 3 years ago
上記の方法で実装してみたところ、今度はNPCの分岐かつMoveで1マスワープしてから移動し(おそらく処理が終了する前に分岐が二回呼び出されたまま?)なのと、分岐かつMove以外のマスに丁度止まった後、次のターン開始時に移動するマスが1マス少ない問題が発生してしまっています。ご指導ご鞭撻のほど何卒宜しくお願い致します。
@konnyakuken 現状の最新のPushしてくれると嬉しい!
@fukuchang pushしました。 β版まで時間がなかったのでとりあえず分岐かつMoveのマスを実装せずに進めていた為、その名残が残ってるかもしれないです。 remoで開発しています。
Playerにだけ該当のマスに止まった時に非同期で分岐表示がうまくいかない時の対処法 Player.cs のメンバ変数でMassManager型の変数massManagerを宣言
private MassManager massmanager;
ただ、移行するにあたってマスに触れた時に、どのMassManagerのコンポーネントの値を取るのかを指定しないといけないので、
OnCollisionEnter()
の中でmassManager = massManager = col.gameObject.GetComponent<MassManager>();
の処理を記述する。また、該当マスの処理を表してるこの部分を新しく用意した
BranchProcess()
メソッドに移行 https://github.com/konnyakuken/Book_Labyrinth/blob/683c11e426e2688b22365b728707f9872388cd86/Assets/Scripts/PlayerScript.cs#L275-L296 https://github.com/konnyakuken/Book_Labyrinth/blob/683c11e426e2688b22365b728707f9872388cd86/Assets/Scripts/PlayerScript.cs#L397-L420結果的に、
BranchProcess()
メソッドは以下のようになる。元々処理を書いてた以下の部分は消して、
BranchProcess()
に書き換える。 また、Playerだけ該当のマスに止まった時に必ず道を選択できる処理を入れたいので、 この条件分岐処理内の最後で、 https://github.com/konnyakuken/Book_Labyrinth/blob/683c11e426e2688b22365b728707f9872388cd86/Assets/Scripts/PlayerScript.cs#L175 以下の処理を入れる。