バッテラのハローワールド研究室

エンジニア、プログラミングに関する情報を掲載中!

【Unity】UniRX覚え書き

Unity

UniRXのSubscribeの書き方をすぐ忘れるので覚え書き。

msg, err の単語は自由につけてよい

Subscribe

OnNextのみ
XXX.Subscribe(

    // OnNext 
    msg =>
    {

    }
    );
OnNext & OnCompleted
XXX.Subscribe(

    // OnNext 
    msg =>
    {

    },
    // OnCompleted
    () =>
    {

    }

    );
OnNext & OnError & OnCompleted
XXX.Subscribe(

    // OnNext 
    msg =>
    {

    },
    // OnError
    err =>
    {

    },
    // OnCompleted
    () =>
    {

    }

    );

SelectMany

特徴

Func1とFunc2の戻り値の型が異なっていてもいいってこと。

最終的な戻り値の型を変えたい場合でも有効である。

Observal.Return(目的の型)にすればいい。

サンプルコード
    UseCase.Func1().SelectMany(value =>
    {
         return UseCase.Func2()
    })
    .Subscribe(value =>
    {
        observer.OnNext(true);
        observer.OnCompleted();
         
   });

WhenAll

特徴

WhenAll は全て同一の戻り型であることが条件

サンプルコード
Observable.WhenAll(
        UseCase.Load1(),
        UseCase.Load2(),
       ).Subscribe(_ =>   {
            // ゲーム開始の処理
       });