public void SendEvent(Event localEvent) { if (_listenersByEventName == null) { return; } if (_listenersByEventName.ContainsKey(localEvent.Name)) { List <Listener> listeners = _listenersByEventName[localEvent.Name]; for (int i = 0; i < listeners.Count;) { Listener listener = listeners[i]; if (listener.Owner == null) { listeners.RemoveAt(i); } else { if (listener.Owner.isActiveAndEnabled) { listener.Callback(localEvent); } ++i; } } } }
public void Init(Listener listener) { Console.WriteLine($"[{nameof(Init)}] Hello from {AppDomain.CurrentDomain.FriendlyName} domain"); listener.Callback(); }