public void UnregisterListener(GameEventListenerObj listener) { if (eventListenerObjs.Contains(listener)) { eventListenerObjs.Remove(listener); } }
public void RegisterListener(GameEventListenerObj listener) { if (!eventListenerObjs.Contains(listener)) { eventListenerObjs.Add(listener); } }
private void OnDisable() { for (int i = listeners.Length - 1; i >= 0; i--) { GameEventListenerObj gelo = listeners[i]; if (gelo.Event == null) { continue; } gelo.Event.UnregisterListener(gelo); } }
private void OnEnable() { for (int i = listeners.Length - 1; i >= 0; i--) { GameEventListenerObj gelo = listeners[i]; try { //print("Enabling Listener " + gelo.name); gelo.Event.RegisterListener(gelo); } catch (NullReferenceException e) { Debug.LogError("NullReferenceException: Event missing! GameObject: " + gelo.name); } } }