Пример #1
0
        public static void RemoveListener(FayvitMoveEventKey key, Action <FayvitMoveEvent> acao)
        {
            List <Action <FayvitMoveEvent> > callbackList;

            if (_eventDictionary.TryGetValue(key, out callbackList))
            {
                callbackList.Remove(acao);
            }
        }
Пример #2
0
        public static void AddListener(FayvitMoveEventKey key, Action <FayvitMoveEvent> callback)
        {
            List <Action <FayvitMoveEvent> > callbackList;

            if (!_eventDictionary.TryGetValue(key, out callbackList))
            {
                callbackList = new List <Action <FayvitMoveEvent> >();
                _eventDictionary.Add(key, callbackList);
            }

            callbackList.Add(callback);
        }
Пример #3
0
        public static void Publish(FayvitMoveEventKey key, FayvitMoveEvent umEvento = null)
        {
            List <Action <FayvitMoveEvent> > callbackList;

            if (_eventDictionary.TryGetValue(key, out callbackList))
            {
                //Debug.Log(callbackList.Count+" : "+umEvento.Sender+" : "+key);

                foreach (var e in callbackList)
                {
                    if (e != null)
                    {
                        e(umEvento);
                    }
                    else
                    {
                        Debug.LogWarning("Event agregator chamou uma função nula na key: " + key +
                                         "\r\n Geralmente ocorre quando o objeto do evento foi destruido sem se retirar do listener");
                    }
                }
            }
        }
Пример #4
0
 public FayvitMoveEvent(FayvitMoveEventKey key, params object[] o)
 {
     Key           = key;
     MySendObjects = o;
 }