タグ

unitaskに関するtarchanのブックマーク (4)

  • PUN2をasync/awaitで使えるライブラリつくってみた「Pun2Task」

  • neue cc - async decoratorパターンによるUnityWebRequestの拡張とUniTaskによる応用的設計例

    UniTask v2も2.0.30まで到達し、いい加減そろそろ安定したと言える頃合いです(ほんと!)。GitHub Star数も1000を超えて、準スタンダードとして安心して使ってもらえるレベルまで到達したと思うので、基盤部分から入れ込んで設計するとこんなことができますよ、という一例を出してみます。 UnityWebRequestはかなりプリミティブな代物で、そのまま使うよりかはある程度はアプリケーションに沿ったラッパーを被せることがほとんどなのではないかと思います。しかし、ライブラリ単体でアプリケーションの要求を全て満たそうとするとヘヴィになりすぎたり、というかそもそもアプリケーション固有の要求には絶対に答えられない。というわけで、理想的なラッパーというのは、それ自身が極力軽量で、拡張性を持たせたプラガブルな仕組みが用意されているものということになります。プラガブルな拡張性がないと、例え

  • UniTaskを使ったポップアップの作成 - 鉄ブロ

    UniTaskを使ったポップアップ(ダイヤログ)の作り方を紹介します。 ポップアップ内での選択結果で処理を分岐するのに適しています。 また、ポップアップのアニメーションは共通化しておき、ポップアップの内容だけ変えたい場合にも使えます。 サンプルアニメーションです。 UniTaskを使ったYesOrNoの処理 UniTaksのWhenAnyは何番目のタスクが完了したかを返してくれるので、WhenAnyの結果からどのボタンが押されたかが判断できます。 var isYes = await UniTask.WhenAny(noButton.OnClickAsync(), yesButton.OnClickAsync()) == 1; noButtonはIndex=0なので押されるとfalseが、yesButtonはindex=1なので押されるとtrueが返ります。 また、複数ボタンにも対応していま

    UniTaskを使ったポップアップの作成 - 鉄ブロ
  • UniTask - Unityでasync/awaitを最高のパフォーマンスで実現するライブラリ

    Cy#の河合です。今回、『UniTask』という新しいUnity用の非同期処理ライブラリを公開しました。 [GitHub – Cysharp/UniTask] 新規公開、ではありますが、実は新しいわけではなく、元々UniRxの機能として公開していたものを、分離したものとなります。併せてUniRxも更新していて、お互いに依存が一切ない独立したものになっています。 概要に関しては、以前に公開した以下のスライドで詳しく述べていますが、改めてまとめてみます。 async/awaitまでのC#/Unityの非同期処理 一般に、非同期処理はコールバックで完了後のメソッドを呼び出す形で実装できます。Unityも例外ではなく多用されていますが、 複雑な処理でネストが多重になる その際、内側の例外は外側には伝搬されない 処理順序がコードから見えなくなる といったような、いわゆるコールバック地獄に陥ります。代

    UniTask - Unityでasync/awaitを最高のパフォーマンスで実現するライブラリ
  • 1