AssetStore链接:
UniRx - Reactive Extensions for Unity | Integration | Unity Asset Store
一、定义
UniRx 是一个用于 Unity 的响应式编程库,它通过响应式编程的模式来简化事件和异步操作的管理。
二、核心组成
· Observable(可观察的):表示一个数据流或事件流。
· Operators(操作符):用于转换、组合和过滤 Observable 的工具。
· Subscription(订阅):观察者订阅一个 Observable 来接收事件。
三、常用API
(1)常用ui事件
·button.OnClickAsObservable():ui中按钮被按下事件
// UniRx 方式(Observable)
button.OnClickAsObservable()
.Subscribe(_ => Debug.Log("Button clicked"));
_ =>
是一个简化的 Lambda 表达式语法,表示在这个订阅的过程中不需要使用传入的参数。如果关心事件传递的参数,可以使用其他名称来接收这个参数。比如:button
参数是按钮对象,可以访问它的属性(如 name
)来获得更多信息。
button.OnClickAsObservable()
.Subscribe(button => Debug.Log("Button clicked: " + button.name));
(2)操作符
· Select:用于映射 Observable 中的数据