Unityに触ってみる(3)【UniRx入門失敗】

前回は人と大地とタッチ判定を実装しました。

次はコンピュータのAIでも作ろうかといろいろ調べていたときUniRxなる言語拡張を発見しました

「なに?イベントの上位互換として使える?じゃあ今まで作った部分を書き直してみまるか!」

…という感じで手を出したはいいものの、かなり詰まってしまい途中からは元の設計プログラムに結構手を加える結果となりました…

 

UniRxってなに?

たぶん

qiita.com

これとか

qiita.com

これとかに肝心な部分はほとんど書いてあるんだと思います。

とりえず

・ストリームを作る

・ストリームにメッセージが流れるとSubscribeに登録してある関数が実行される

・ストリームの基本はSubject

・SubjectはOnNextでメッセージを送信できる

・OnCollisionAsObserbableとかでイベントをストリームにするとイベントが発生したときにメッセージが自動で送信される

・オペレータでメッセージを加工したりいろいろできる

これをいろいろこねこねするとイベントがいい感じで書けるらしいんですけど、タッチ返しを防止する方法がうまく思いつかず(Zipとか試したけど考えていた挙動にならない…)新しいPlayerStateクラスを作ることになりました

できたものはこちら

なんだか微妙な仕上がりですが、困るまではこれでよしとしましょう…