UniRx---Select

UniRx中所有可订阅的对象都是一种事件源,并且可以传递给订阅者一些参数

而Select,它就像一种转换器

把事件源传递过来的参数 转换成另外一种形式  

转换前后的类型也可以不同

比如你有一个reactive的int属性Hp(响应式属性, 或者说可订阅的属性,是UniRx的魅力之一,语法简洁,提供订阅功能,观察属性的变化)

本来这个事件源传递的是一个int型的参数

而Hp.Select(a=>a<=0) 这样的一个事件源就成了一个传递bool型参数的事件源

此外 Select还有一个重载版本 他需要额外带int型参数的转换器(selector)  而每次发射数据时会把发射次数给你

可以使用这个重载做统计发射次数的工作

比如这样

 Observable.EveryUpdate().Where(_=>Input.GetMouseButtonDown(0)). Select((_, index) =>index)
.Subscribe(_ => print("点击了"+_+"次"));

统计鼠标单击过的次数

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值