Page 1 of 1

StateへのBehaviourの動的な追加・削除について

Posted: 2016/03/28 14:01
by nice
お世話になります。
あるState内のBehaviourスクリプトから、他Stateへ動的にBehaviourを追加・削除する方法はありますでしょうか?

想定しているシチューションとしては、
アクションゲームで、使用中には移動できなくなる技がいくつかあり、
技を使用する際に「技使用中状態」へ遷移させたいのですが、
技の数だけStateを作るのではなく、
Stateは「移動できなくなる技実行中 状態」という1つにまとめ、
Behaviourだけを使用する技に応じて差し替えた上で遷移したい、と考えております。

また、何か他に良い方法がありましたら教えて頂けると助かります。
それでは、よろしくおねがいします。

Re: StateへのBehaviourの動的な追加・削除について

Posted: 2016/03/29 04:25
by caitsithware
Behaviourの動的な追加/削除は自作StateBehaviourを作成することでできます。

追加についてのメソッドは、StateのAddBehaviour
もしくは、StateBehaviourのAddBehaviourです。

削除については、StateBehaviourのDestroyとなっています。

また他の方法としましては、技用オブジェクトを別途作成し、メッセージを介して技が終了するまで待機する方法もあります。
その場合、TriggerTransitionで待機し、
技用オブジェクトでは、SendTriggerSendTriggerUpwardsなどで技が終了したことを通知する形になります。

Re: StateへのBehaviourの動的な追加・削除について

Posted: 2017/01/05 17:29
by nice
迅速なご回答、大変助かります。

教えて頂いたメソッドを使ってBehaviourの追加/削除を試してみたいと思います。
また、ご提案頂いたTriggerを使った方法についても検討してみたいと思います。

ありがとうございました。