Search
Write a publication
Pull to refresh
0
0
Send message

У CompositeDisposable есть метод Clear, который как раз делает то, что вам надо - у всех IDisposable вызовет Dispose, затем почистит список, но при этом _disposed не выставит в true. Т.е. можете переиспользовать его сколько угодно раз.

Небольшая подсказка. Вместо

private List<IDisposable> _disposables = new List<IDisposable>();

можно использовать класс CompositeDisposable для простоты. Будет что-то типа

private CompositeDisposable _disposables = new CompositeDisposable();

public void Init(Player player)
{
  player.Health
    //создаем подписку
    .Subscribe(v => { _healthView.text = v.ToString(); })
    //добавляем подпику в список очищаемых обьектов
    .AddTo(_disposables);
  player.Mana.Subscribe(v => { _manaView.text = v.ToString(); }).AddTo(_disposables);
}
        
public void Dispose()
{
  _disposables.Dispose();
}

Information

Rating
Does not participate
Registered
Activity