Skip to content

NCMB UnityプラグインをUniRxを用いて扱いやすくするライブラリ

License

Notifications You must be signed in to change notification settings

TORISOUP/NcmbAsObservable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NcmbAsObservable

NcmbAsObservableは、NIFTYCloudが提供しているNCMB UnityプラグインをUniRxを用いて扱いやすくするライブラリです。

導入方法

こちらからunitypackageをダウンロードしてください。

使い方

まずは NcmbAsObservables へのusingを追加してください。

拡張メソッド

末尾がAsyncと表記された非同期APIを **AsyncAsStream と呼びかえることでIObservableとして扱うことができるようになります。

var user = new NCMBUser();

user.UserName = "test_user_name";
user.Password = "hogehoge";

//Singup
user.SingUpAsyncAsStream()
    .Subscribe(u =>
    {
        Debug.Log(string.Format("{0}", u.UserName));
    }, e =>
    {
        Debug.LogError("Unknown Error:" + e);
    });

NCMBQuery

NCMBQueryも同様に、非同期APIを**AsyncAsStream と呼びかえることでIObservableとして扱うことができるようになります。

var query = new NCMBQuery<NCMBObject>("Score");
query.OrderByDescending("score");
query.Limit = 5;

query
    .FindAsyncAsStream()
    .Subscribe(resultList =>
    {
        foreach (var o in resultList)
        {
            Debug.Log(o);
        }
    }, error => Debug.LogError(error));

NCMBUser

NcmbUserにstaticで実装されているAsync系のAPIはObservableFromNcmbUserから呼び出すことができます。

ObservableFromNcmbUser
    .LogInAsync("test_user_name", "hogehoge") //Login
    .SelectMany(u => u.FetchAsyncAsStream())  //Fetch
    .Do(user => Debug.Log(string.Format("{0}\t{1}", user.UserName, user.Email))) //Show result
    .SelectMany(_ => ObservableFromNcmbUser.LogOutAsync()) //Log out
    .Subscribe(_ => Debug.Log("Logged out"), e => Debug.LogError(e));

配布ライセンス

MIT License

使用ライブラリ

PhotonRxはUniRxをベースに作成しています Copyright (c) 2014 Yoshifumi Kawai https://github.com/neuecc/UniRx/blob/master/LICENSE

About

NCMB UnityプラグインをUniRxを用いて扱いやすくするライブラリ

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages