Example #1
0
        public IDisposable Subscribe(IObserver <object[]> observer)
        {
            PriorityEventObserver peo = (PriorityEventObserver)observer;

            m_observers.Add(peo);
            return(new Disposable(m_observers, peo));
        }
Example #2
0
        public PriorityEventObserver Subscribe(int eventId, Action <object[]> onNext, int priority = 100)
        {
            PriorityEventObserver observer = new PriorityEventObserver(onNext, priority);

            AddObserver(eventId, observer);
            return(observer);
        }
Example #3
0
        public PriorityEventObserver <T> Subscribe <T>(int eventId, Action <T> func, int priority = 100)
        {
            if (m_record.ContainsKey(eventId))
            {
                return(null);
            }

            PriorityEventObserver <T> observer = new PriorityEventObserver <T>(func, priority);

            m_record.Add(eventId, observer);
            EventMgr.Instance.AddObserver(eventId, observer);

            return(observer);
        }
Example #4
0
 public Disposable(PriorityList <PriorityEventObserver> list, PriorityEventObserver observer)
 {
     m_list     = list;
     m_observer = observer;
 }
Example #5
0
 /// <summary>
 /// remove shoud call from observer instead of map
 /// </summary>
 internal void RemoveObserver(PriorityEventObserver observer)
 {
     Debug.LogWarning("remove shoud call from observer instead of map!");
     observer.Dispose();
 }
Example #6
0
 internal void AddObserver(int eventId, PriorityEventObserver observer)
 {
     observer.SubScribe(GetObservable(eventId));
 }
Example #7
0
 public int CompareTo(PriorityEventObserver other)
 {
     return(m_priority.CompareTo(other.m_priority));
 }