public static void Add(K key, Action <V> receiver, string groupId = "") { var group = BroadcastTunnel <K, V> .GetGroup(groupId); if (null == group) { group = BroadcastTunnel <K, V> .AddGroup(groupId); } Manager mgr; if (!group.TryGetValue(key, out mgr)) { group.Add(key, mgr = new Manager()); } if (!mgr.container.Contains(receiver)) { mgr.container.Add(receiver); } }
public static void Adds(K key, Action <V>[] receivers, string groupId = "") { var group = BroadcastTunnel <K, V> .GetGroup(groupId); if (null == group) { group = BroadcastTunnel <K, V> .AddGroup(groupId); } Manager mgr; if (!group.TryGetValue(key, out mgr)) { group.Add(key, mgr = new Manager()); } for (int n = 0, cnt = receivers.Length; n < cnt; ++n) { if (!mgr.container.Contains(receivers[n])) { mgr.container.Add(receivers[n]); } } }