UniRx是什么?
UniRx (Unity响应式编程插件) 重写了.Net的响应式扩展。.Net官方的Rx很棒,但是在Unity中无法使用,并且与IOS的IL2CPP有兼容性问题。这个库这些问题并且添加了一些Unity专属的工具类。 支持的平台有:PC/Mac/Android/iOS/WP8/WindowsStore/等等,并且支持Unity4.6之后的所有版本。
简介ReactiveX.io给Rx定义是一个使用可观察数据流进行异步编程的编程接口,RX结合了观察者模式、迭代器模式和函数式编程的精华,可以帮助我们很快的完成一些异步操作,以下资料可以帮助快速入门。
- Rx官方文档的翻译
- 在函数响应式编程中作者以通俗易懂的详细的解释了什么是Rx和Rx的使用方式。
UniRx是Rx在Unity上实现,在实现Rx同时,封装了一些Unity的api,使我们可以快速的完成一些功能的实现,在最新的Rx版本中,作者实现了UniTask,可以使用C#原生的async和await进行异步操作(需要支持C#7.0版本,Unity2018.3或者在unity2018其他版本中使用incrementalcompiler package包)。
在Unity上的实现从UniRx的Readme中,我们可以学习到UniRx的基本介绍和基本使用方法,同时在插件的Examples目录下还有作者写好的几个例子。
资源
博客
UniRx - Unity响应式编程插件(2):让多线程更简单
UniRx - Unity响应式编程插件(3):让协程更有效率
UniRx第一季学习(二) ------ UniRx 的基本语法格式+Update
UniRx第一季学习(三) ------ 操作符Where/First/AddTo
UniRx第一季学习(四) ------ Observable/Trigger类型的关键字/ReactiveProperty/MVP 实现
UniRx第一季学习(五) ------ 操作符Merge/Coroutine/WhenAll/OnCompleted/Start
UniRx第一季学习(六) ------ ObservableWWW/ReactiveCommand /ReactiveCollection/ ReactiveDictionary/AsyncOper
UniRx第二季学习[linq与UniRx](一) ------ 复习总结/where/select
UniRx第二季学习[linq与UniRx](二) ------ First/Distinct/Last
UniRx第二季学习[linq与UniRx](三) ------ SelectMany/Take/Concat/WhenAll
UniRx第二季学习[linq与UniRx](四) ------ OfType/Cast/GroupBy/Range