private void InitSubscribers() { OnDisabled += () => { OnUnsubscribe(); if (OnUnsubscribed != null) { OnUnsubscribed.Invoke(); } }; OnDestroyed += UnBind; }
public void RemoveSubscriber(ISubscriber subscriber) { subscribers.Remove(subscriber); switch (subscriber.SubscriberType) { case SubscriberType.Announcement: OnAnnouncementPublished -= subscriber.MessageRecieved; break; case SubscriberType.News: OnNewsPublished -= subscriber.MessageRecieved; break; } OnUnsubscribed?.Invoke(subscriber); }
/// <summary> /// Unsubscribes this instance. /// </summary> public void Unsubscribe() { Subscribed = false; OnUnsubscribed?.Invoke(Id); }
public void InvokeOnUnsubscribed() { OnUnsubscribed?.Invoke(); }