public void SubscribeToNotifier(UINotifier notifier) { if (!notifier.IsSubscribed) { notifier.notify += OnNotification; notifiers.Add(notifier); notifier.IsSubscribed = true; } }
public void UnsubscribeToNotifier(UINotifier notifier) { if (notifier.IsSubscribed) { notifier.notify -= OnNotification; notifiers.Remove(notifier); notifier.IsSubscribed = false; } }
void OnDestroy() { UINotifier[] notifiersCpy = new UINotifier[notifiers.Count]; notifiers.CopyTo(notifiersCpy); foreach (UINotifier notifier in notifiersCpy) { UnsubscribeToNotifier(notifier); } }