public void UnregisterListener(EventListenerSO listener) { ListenerEventPair listenerEventPair = null; if (Find(listener, out listenerEventPair)) { listenersCallbacks.Remove(listenerEventPair); } }
private bool Find(EventListenerSO listener, out ListenerEventPair listenerEventPair) { listenerEventPair = null; for (int i = listenersCallbacks.Count - 1; i >= 0; i--) { if (listenersCallbacks[i].listener == listener) { listenerEventPair = listenersCallbacks[i]; return(true); } } return(false); }