【Unity】实用插件-R3

跟随物体销毁取消订阅

最稳定取消订阅的方法

官方给的方法,但是不确定说明版本。使用下面的也没问题

1
2
3
4
5
6
7
8
9
private void DisposableSubscribe()
{
// better performance
var d = Disposable.CreateBuilder();
Observable.EveryUpdate().Subscribe().AddTo(ref d);
Observable.EveryUpdate().Subscribe().AddTo(ref d);
Observable.EveryUpdate().Subscribe().AddTo(ref d);
d.RegisterTo(this.destroyCancellationToken); // Build and Register
}

单个事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
```





#### 多个事件

```c#
private DisposableBag d; // 监听的事件较多时可以使用DisposableBag统一处理

private void OnDestroy()
{
subscription?.Dispose();
d.Dispose();
cts?.Dispose();
}

UI

如果是使用UI的订阅方式会自定取消订阅

1
exitButton.OnClickAsObservable().Subscribe(_ => ExitGame());