Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

UniRxでPUNを使いやすくする

3,362 views

Published on

UniRxでPhotonを使いやすくしてみた話

Published in: Technology

UniRxでPUNを使いやすくする

  1. 1. UniRxでPUNを 使いやすくする 2015/08/04 @toRisouP
  2. 2. 自己紹介 •  とりすーぷ(@toRisouP) •  本業はWeb系でサーバサイドエンジニア (最近はScalaを触ってる) •  趣味でC#/Unity開発をやってます •  最近はRxにハマってる
  3. 3. PUNの使いにくいところ
  4. 4. PUNの使いにくいところ •  コールバックが型安全に扱えない –  typoしてたり引数間違えてても コンパイラが教えてくれない •  コールバックメソッドがIDEの補完に出てこない –  マニュアル片手にいちいち調べる必要がありだるい •  コールバックだらけになって処理が散らかる –  一連の処理は一箇所に固めて書きたい –  コルーチンで処理できたらいいのに
  5. 5. これら問題を払拭するライブラリ
  6. 6. PhotonRx
  7. 7. PhotonRx •  UniRxと合わせて使うライブラリ –  ObservableTriggerでコールバックを扱える –  MITライセンス –  https://github.com/TORISOUP/PhotonRx
  8. 8. UniRx is 何 •  Reactive Extensions for Unity –  Microsoftが開発していた時魔法ライブラリ  Reactive ExtensionsのUnity移植版 –  作者はneueccさん(日本人)
  9. 9. 詳細は… •  UniRxの解説だけで余裕で1時間かかるので 以下の資料を見てください –  http://www.slideshare.net/torisoup/unity-unirx
  10. 10. PhotonRxの使い方
  11. 11. PhotonRxの使い方 •  PhotonRxをusingに加えてxxxAsObservableを SubscribeすればOK
  12. 12. PhotonRxを使うメリット
  13. 13. 型安全 & IDEの補完が効く
  14. 14. awaitっぽいこともできる •  コルーチン上でイベント通知が来るまで待機する •  非同期処理+手続き的な処理が書きやすくなる ←コルーチン
  15. 15. awaitっぽいこともできる •  コルーチン上でイベント通知が来るまで待機できる •  非同期処理+手続き的な処理が書きやすくなる イベント待受の下準備
  16. 16. awaitっぽいこともできる •  コルーチン上でイベント通知が来るまで待機する •  非同期処理+手続き的な処理が書きやすくなる Photon接続処理開始
  17. 17. awaitっぽいこともできる •  コルーチン上でイベント通知が来るまで待機する •  非同期処理+手続き的な処理が書きやすくなる ログイン成否通知をコルーチン上で待つ
  18. 18. awaitっぽいこともできる •  コルーチン上でイベント通知が来るまで待機する •  非同期処理+手続き的な処理が書きやすくなる 成功/失敗時の処理
  19. 19. UniRx & PhotonRxで全て解決! •  コールバックが型安全に扱えない –  typoしてたり引数間違えてても コンパイラが教えてくれない •  コールバックメソッドがIDEの補完に出てこない –  マニュアル片手にいちいち調べる必要がありだるい •  コールバックだらけになって処理が散らかる –  一連の処理は一箇所に固めて書きたい –  コルーチンで処理できたらいいのに
  20. 20. まとめ •  PhotonRxを使うとPUNのダメなところが改善される •  UniRxの学習コストがそもそも高いので導入は要件等 •  とは言えどUniRxは使いこなせれば相当便利なので 学習コストを払って(UniRxだけでも)導入すべき

×