
UniRx
文章平均质量分 89
inspironx
这个作者很懒,什么都没留下…
展开
-
01.UniRx序列(为什么使用UniRx,哪好,为什么好)
传统编程里面,我总是按照编译器的逻辑来处理代码;代码是按照顺序执行,当有数据刷新的时候,需要重新去获取;重新去获取并不影响什么,关键的是这是一个主动发起的行为;而数据是被动在刷新,这样的我们编写的代码就变得被动了,你如果有一定的工作经验,你遇到这样的低级的问题,忘记去刷新某一个数据导致程序异常;...原创 2019-11-09 02:50:43 · 2798 阅读 · 3 评论 -
02.UniRx序列(UniRx对游戏有什么用)
UniRX在游戏里面的表现呢?学习一个技术,我们最关心的是它能不能给我们带来实际的效率,方便;做Unity的选择挺多的,大把的第三方插件;各种可视化工具,多到都不知道去挑哪一个来用;我并去推荐大家去使用什么插件,工具,这是一个双刃剑,既有方便也有不方便;方便的是你自己,痛苦的是那些不会的人和以后维护的人;插件一般使用的技术比较新,对系统有到一定的要求,因为不是自己写的东西;有可能插件出现的问题会...原创 2019-11-09 10:54:01 · 3627 阅读 · 1 评论 -
03.UniRx序列(Interval、TimeInterval、FrameInterval、FrameTimeInterval)
Interval间隔一定的时间单位持续给订阅者通知信息,图解示例代码public class No03_Interval : MonoBehaviour{ void Start() { var intervalStream = Observable.Interval(TimeSpan.FromSeconds(3f), Scheduler.MainThrea...原创 2019-11-10 10:40:58 · 3245 阅读 · 0 评论 -
04.UniRx序列(DistinctUntilChanged、RepeatUntilDestroy、RepeatUntilDisable、SkipUntil、TakeUntil...)
内容包括DistinctUntilChangedRepeatUntilDestroyRepeatUntilDisableSkipUntilTakeUntilTakeUntilDestroyTakeUntilDisableDistinctUntilChangedDistinct 计算机专业词汇意思是去除重复,翻译过来是 去除重复的数据直到有变化才会通知监控数据源有没有变化,一...原创 2019-11-10 16:51:20 · 1510 阅读 · 0 评论 -
05.UniRx序列(Delay、DelayFrame、DelayFrameSubscription、DelaySubscription
DelayDelayFrameDelayFrameSubscriptionDelaySubscriptionDelay延迟一定的时间来继续执行之前的流,延迟的时间不计算在基础流里面,权当附加的一个功能,只针对基于时间的流有效果,图解输出结果代码示例public class No05_Delay : MonoBehaviour{ void Start() {...原创 2019-11-10 23:02:06 · 1830 阅读 · 0 评论 -
06.UniRx序列(Do、DoOnCancel、DoOnCompleted、DoOnError、DoOnSubscribe、DoOnTerminate
DoDoOnCancelDoOnCompleteDoOnErrorDoOnSubscribeDoOnTerminateDo对基础流的数据进行二次包装,包括基础流里面的所有数据,包装的过程在Next,Error,Complete方法里面进行,基础的Next数据在对应的Next里面包装,Error数据在Error里面包装,Complete在Do的Complete方法里面执行,图解...原创 2019-11-11 11:14:43 · 1737 阅读 · 0 评论 -
07.UniRx序列(FromCoroutine、FromCoroutineValue、FromMicroCoroutine、StartAsCoroutine)
FromeCoroutineFromCoroutineValueFromMicroCoroutineStartAsCoroutineFromCoroutineUniRx特有的方法,将一个协同方法转化到基础流,协同在订阅的时候被执行,流也会被执行;执行结果代码示例public class No07_Coroutine : MonoBehaviour{ void Sta...原创 2019-11-12 23:29:24 · 1461 阅读 · 1 评论 -
08.UniRx序列(Zip、ZipLatest、Amb、Aggregate、Merge)
ZipZipLatestAmbAggregateMergeZipZip,在系统应用层面上是压缩文件的后缀;在UniRx里面是对流进行合并,按照基础流和zip的流按照流数据的输出顺序依次进行压缩;压缩的数据以中间最短数据的流为准,压缩之后的返回成一个IList集合接口;zip只会将流压缩,并不把里面的数据合并,图解第一个流输出的是数字第二个流输出的是字母zip到第三个流,最后...原创 2019-11-13 11:31:34 · 1845 阅读 · 0 评论 -
09.UniRx序列(Select、SelectMany、Create、CreateSafe、CreateWithState)
SelectSelectManyCreateCreateSafeCreateWithStateSelect原创 2019-11-14 10:35:08 · 1022 阅读 · 1 评论 -
10.UniRx序列(HotObservable、ColdObservable)
官方解释来自简书的官方原文Think of a hot Observable as a radio station. All of the listeners that are listening to it at this moment listen to the same song.A cold Observable is a music CD. Many people can buy...原创 2019-11-14 12:11:03 · 458 阅读 · 0 评论 -
11.UniRx序列(Concat、Defer、Empty、FromAsyncPattern、Throw、RefCount、Publish、Pairwise)
ConcatDeferEmptyFromAsyncPatternThrowRefCountPublishPairwiseConcat连接多个流,按照一定的先后顺序将多个流串联到一起,流包装的数据类型必须一致,图解执行结果代码示例public class No10_Mixed1 : MonoBehaviour{ void Start() { ...原创 2019-11-15 12:12:32 · 1049 阅读 · 0 评论 -
12.UniRx序列(FromEvent、FromEventPattern、Where、WhenAll、Never)
FromEvent()FromEventPattern()Where()WhenAll()Never<>()FromEvent将C#事件转换成流,当事件有回调的时候,通知到流,包括event、delegate及其衍生的回调字段,图解执行结果代码示例public class No12_Mixed2 : MonoBehaviour{ public eve...原创 2019-11-17 23:50:11 · 1036 阅读 · 0 评论 -
13.UniRx序列(Start、AsObservable、AsSingleUnitObservalbe、AsUnitObservable、ToAsync、ForEachAsync)
StartAsObservableAsSingleUnitObservableAsUnitObservableToAsyncForEachAsyncStart启动一个异步方法来返回方法的执行结果,创建一个流,将流的方法数据输出到基础流,图解执行结果代码示例public class No13_Mixed3 : MonoBehaviour{ void Start(...原创 2019-11-18 10:30:59 · 892 阅读 · 0 评论 -
14.UniRx序列(First、FirstOrDefault、BatchFrame、Buffer、GroupBy、ThrottleFirst、Throttle...)
First()FirstOrDefault()BatchFrame()Buffer()GroupBy()ThrottleFirst()ThrottleFrame()ThrottleFirstFrame()First取基础流里面第一个数据或者取第一个满足条件的数据,图解执行结果代码示例public class No14_Mixed4 : MonoBehaviour...原创 2019-11-19 11:04:40 · 1680 阅读 · 0 评论 -
15.UniRx序列(Subscribe/ObserveOnMainThread、Cast、PublishLast、RepeatSafe、Replay、Catch、CatchIgnore)
ObserveOnMainThread()SubscribeOnMainThread()Cast<>()PublishLast()RepeatSafe()Replay()Catch()CatchIgnore()ObserveOnMainThreadUniRx特有的字段,将一个流转移到主线程进行观察执行结果代码示例public class No15_Mix...原创 2019-11-20 13:31:48 · 2066 阅读 · 0 评论 -
16.UniRx序列(ContinueWith、Timeout、Timestamp、ToArray、ToObservable、Retry、OnErrorRetry)
ContinueWith()Timeout()Timestamp()ToArray()ToObservable()Retry()OnErrorRetry()ContinueWith当一个流完整的执行之后,执行到Complete之后,会继续执行ContinueWith关联的流执行结果代码示例public class No16_Mixed6 : MonoBehaviour...原创 2019-11-21 15:00:43 · 1360 阅读 · 0 评论 -
17.UniRx序列(Sample、Scan、Switch、ToAwaitable/Wait、WithLastestFrom、De/Materialize、Multicast)
Sample()Scan()Switch()ToAwaitableEnumerator()Wait()WithLatestFrom()Materialize()Dematerialize()Multicast()Sample/SampleFrame对一个基础流进行采样,采样的数据以基础流最近输出的一个数据为准,图解第一条线是基础流在输出数据第二条线是一个Sample...原创 2019-11-27 16:23:03 · 958 阅读 · 0 评论 -
18.UniRx专题(Rx Property属性数据响应器)
什么是属性响应器ReactiveProperty<>ReactiveDictionary<>ReactiveCollection<>ReactiveCommand<>ReactiveProperty派生基础类型什么是属性响应器一般来说,我们需要对一个数据进行监听的时候,使用回调来通知其变化之后的结果;因此,我们在编写回调的时候会比...原创 2019-12-09 13:59:18 · 2154 阅读 · 0 评论 -
19.UniRx专题(Subject主题)
Subject 定义和解析AsyncSubject 异步主题BehaviorSubject 行为主题PublishSubject 解体主题ReplaySubject 重播主题Subject 定义和解析主题是一种在ReactiveX的某些实现中可用的桥梁或代理,它既充当观察者又充当Observable。 因为它是观察者,所以可以订阅一个或多个Observable,并且因为它是Obs...原创 2019-12-11 10:11:40 · 1517 阅读 · 0 评论 -
20.UniRx专题(Logger和MessageProxy)
Logger相关说明制作拦截上传服务器的日志统一项目输出日志形式MessageProxy消息代理异步消息代理Logger相关说明Unity中可以输出5种格式的日志,分别是Log、Error、Exception、Warning、Assertion;Assertion是断言,在Unity中充当一个Error的作用吧制作拦截上传服务器的日志拦截Unity中Application...原创 2019-12-12 09:44:39 · 617 阅读 · 0 评论 -
21.UniRx专题(ObjectPool和AsyncObjectPool对象池子)
什么是对象池子,什么情况下使用Unity开发当中池子的概念一般化UniRx的池子:基本编码使用方式UniRx的池子:高级使用方式UniRx对象池子多线程支持AsyncObjectPool什么是对象池子,什么情况下使用在我们的过程过程中,经常会遇到一种特殊的情况;需要多次复用同一个prefab的游戏物体,比如发射的子弹,SLG中的士兵,伤害数字等;如果每次进行实例化,会加大程序的...原创 2019-12-23 11:00:06 · 1008 阅读 · 3 评论 -
22.UniRx专题(UniTask异步新特性)
什么是UniTask一般什么情况下使用UniTaskUniTask和UniRx什么关系UniTask APIUniTaskTracker 可视化任务什么是UniTaskUniTask是基于C# 5的async和await异步定制的一套Unity优化的异步解决方案;需要Unity2017以上的版本,并且需要升级c#库,但并不如UniRx项目提供的更为轻量级,可是UniTask拥有...原创 2019-12-24 13:41:01 · 12812 阅读 · 3 评论 -
23.UniRx专题(UniRx UI拓展和MV(R)P模式)
UniRx UI拓展API拓展的方法签名拓展的事件签名MV®P模式UniRx UI拓展API全部的拓展内容归类在一个partial类里面,UnityUIComponentExtensions;全部的拓展事件归类在一个partial类里面,UnityEventExtensions;拓展的方法签名// 将结果<string>订阅到Textpublic static...原创 2019-12-25 10:51:16 · 1893 阅读 · 0 评论 -
24.UniRx专题(UniRx 决策,反向查询)
前言工厂方法筛选讯息可观察本身可观察对象本身的转变可观察的分支合并和计算消息转换讯息与时间有关的处理异步处理错误处理可观察完成时的处理其他主题(非操作符)前言UniRx的最后一篇专题,如果有以后也是实例,估计写的少了;本来计划年底是没法完成的,一次偶然的机会;让我有足够的时间处理个人的事情,这篇文章贡献给想使用UniRx但又不知道怎么使用才会效率起来的人群,其实...原创 2019-12-25 14:12:03 · 1251 阅读 · 3 评论