首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UniRx-Unity响应式编程插件(5):消息系统 对象池

本文译者:郑洪智 - 你的技术探路者

本文翻译自UniRx(https://github.com/neuecc/UniRx)插件的ReadMe

这个插件是我特别喜欢的一个插件,希望能将这种技术思想传播给大家

UniRx是什么?

UniRx (Unity响应式编程插件) 重写了.Net的响应式扩展。.Net官方的Rx很棒,但是在Unity中无法使用,并且与IOS的IL2CPP有兼容性问题。这个库这些问题并且添加了一些Unity专属的工具类。 支持的平台有:PC/Mac/Android/iOS/WP8/WindowsStore/等等,并且支持Unity4.6之后的所有版本。

前情回顾

如何让你的代码更简洁

如何简化网络操作

如何和协程一起使用

让多线程更简单

使用触发器让代码更简洁

Observable 生命周期管理

将Unity回调转为IObservable

调试Debugging

子线程转到主线程执行

基于帧数的时间操作

微协程

uGUI集成

MVP设计模式

ReactiveCommand, AsyncReactiveCommand

ReactiveCommand 抽象了按钮的interactable属性。

AsyncReactiveCommand是ReactiveCommand的变种,它的 (通常绑定到button的interactable) 在异步操作完成后变为false。

有三个构造方法。

- CanExecute is changed to false until async execution finished

- 当 canExecuteSource 变为 true 并且没有在执行的时候 CanExecute 变为true 。

- 在多个AsyncReactiveCommands之间共享运行状态,如果一个 AsyncReactiveCommand 在执行,那么其他的 AsyncReactiveCommands(拥有相同 sharedCanExecute 属性) 的 CanExecute 变为 false 直到异步操作完成。

MessageBroker, AsyncMessageBroker(消息代理,异步消息代理)

MessageBroker 是基于 Rx 的内存发布订阅(pubsub)系统,基于类型筛选。

AsyncMessageBroker 是 MessageBroker 的一个变种, 可以处理异步的 Publish 调用。

UniRx.Toolkit

包含了一些Rx风格的工具。目前报错 和 。可以 , and (在rent操作之前预加载对象池)。

已完结,请关注“洪流学堂”公众号获取全部内容

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180210A07U7G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券