public IListObserver <T> Subscribe(HandleItemAdded <T> add, HandleItemRemoved <T> remove, GameObject scope) { IListObserver <T> observer = Subscribe(add, remove); scope.GetOrCreateComponent <ObserverScope>().AddUnsubscribe(() => Unsubscribe(observer)); return(observer); }
public IListObserver <T> Subscribe(HandleItemAdded <T> add, HandleItemRemoved <T> remove, ObserverScope scope) { IListObserver <T> observer = Subscribe(add, remove); scope.AddUnsubscribe(() => Unsubscribe(observer)); return(observer); }
public void Unsubscribe(IListObserver <T> observer, bool callRemoveOnCurrentItems = false) { _filteredItems.Unsubscribe(observer, callRemoveOnCurrentItems); }
public void Subscribe(IListObserver <T> observer) { _filteredItems.Subscribe(observer); }