public IDisposable Subscribe(IObserver <object[]> observer) { PriorityEventObserver peo = (PriorityEventObserver)observer; m_observers.Add(peo); return(new Disposable(m_observers, peo)); }
public PriorityEventObserver Subscribe(int eventId, Action <object[]> onNext, int priority = 100) { PriorityEventObserver observer = new PriorityEventObserver(onNext, priority); AddObserver(eventId, observer); return(observer); }
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); }
public Disposable(PriorityList <PriorityEventObserver> list, PriorityEventObserver observer) { m_list = list; m_observer = observer; }
/// <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(); }
internal void AddObserver(int eventId, PriorityEventObserver observer) { observer.SubScribe(GetObservable(eventId)); }
public int CompareTo(PriorityEventObserver other) { return(m_priority.CompareTo(other.m_priority)); }