zhouqijie

UniRx网络请求操作

通常WWW和UnityWebRequest都要使用Coroutine。而UniRx以简练的风格提供了对网络请求的支持。

示例:

ObservableWWW.Get("http://sikiedu.com")
    .Subscribe(_ =>
    {
        // todo some thing
    })
    .AddTo(this);

Siki:除了Get之外,还支持Post,还有GETWWW和PostWWW这种辅助封装,以及GetAndGetBytes和PostAndGetBytes。

ScheduledNoifiers:

Siki:ObservableWWW的API可以传入一个ScheduledNotifier<T>,用来监听下载进度。Subscribe之后传回的值则是下载进度。

var progressListener = new ScheduledNotifier<float>();
ObservableWWW.GetAndGetBytes(mRequestPackageData.DownloadUrl, null, progressListener)
    .Subscribe(bytes =>
    {
        //...
    });
progressListener.Subscribe(progress => {  }));

其他:

Siki:除了常用的的Get和Post请求,也对AssetBundle的加载做了简单封装。提供了诸如ObservableWWW.LoadFromCacheOrDownload这样的API。

(END)