示例#1
0
 public void Unsubscribe(MicroMonoBehaviour subscriber)
 {
     if (subscribers.Remove(subscriber))
     {
         actions.Remove(subscriber);
     }
 }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }