#概要
過去に自分が書いたUniRx(Rx含む)の記事を一覧にまとめてみました
皆様の参考になればいいなぁと思います。
記事を書いた当時と比べると現時点ではもっと良い実装方法がある記事もあったりするかも。
UniRx入門シリーズ
#過去に作ったスライド
#逆引き
#Rxの基礎について
##Hot/Coldについて
Rxのややこしい性質の1つ、ObservableのHot/Coldについてまとめたものです。
UniRxを中核においた設計を行う場合はこの性質の理解は必須です。
##その他Rxの説明
PaerWise/Buffer(2,1)で済むところをZipとSkip(1)で書く人が多い印象を受けます。
#UniRxの機能紹介
##Update()をUniRxで書き換える系
UniRxを導入したらまず最初にやるべきであろうUpdate()の書き換え方についてまとめてみたものです。
まずはUpdateAsObservable
とObserveEveryValueChanged
を使っておけばは良いかと思います。
##コルーチンと組み合わせてみた系
UniRxとコルーチンは組み合わせることで真価を発揮すると過言ではありません。
コルーチンとの組み合わせ方はマスターしておくと良いかと思います。
##その他
- 連続したOnNextの最初しか流さないオペレータThrottleFirst
- AddToでSubscribeのDisposeをGameObjectに紐付ける
- .NET 4.6時代のUnityでUniRx
- 【UniRx】 ReactiveCommand/AsyncReactiveCommandについて
- UniRxのObjectPoolを利用する
AddToはよく使う機能なので覚えておくべきです。
#使用例のまとめ
##判定の改善
正直Raycastの方が安定します
コルーチンで書いたほうが複雑だけど後々拡張しやすいし良いかも(FRP全否定)
##PhotonCloudを使いやすくする
- Photon CloudのRoomListの更新を監視する
- PhotonCloudのログイン処理をUniRxで同期処理っぽく書く
- 【PUN】PhotonCloudのコールバック処理をUniRxでスマートに書く「PhotonRx」
PhotonRxはPhotonを使いやすくするための1つの解な気がします。
##その他実装例
- 同時に画面に写ったオブジェクトの数を数えてみる
- カウントダウンタイマーを作る
- AnimatorのTriggerをBoolを使って再現する
- StateMachineBehaviourでAnimatorを監視する
- スクリプトの処理の実行タイミングを操作する
- FPSカウンタ
「とりあえずやってみた」的な記事なのであまり鵜呑みにしないでください