public void Unsubscribe(MicroMonoBehaviour subscriber) { if (subscribers.Remove(subscriber)) { actions.Remove(subscriber); } }
public void Subscribe(MicroMonoBehaviour subscriber, Action[] callbacks) { if (subscribers.Contains(subscriber)) { return; } subscribers.Add(subscriber); var actionsByNames = callbacks.ToDictionary(callback => callback.Method.Name); actions.Add(subscriber, actionsByNames); }
public void Subscribe(MicroMonoBehaviour subscriber, Action[] callbacks) { if (!subscribers.Contains(subscriber)) { subscribers.Add(subscriber); var actionsByNames = new Dictionary <string, Action>(); for (int i = 0; i < callbacks.Length; i++) { actionsByNames.Add(callbacks[i].Method.Name, callbacks[i]); } actions.Add(subscriber, actionsByNames); } }