public SubscribedEvent SubscribeToEvent(LightingLoad theLoad, Type eventType) { var map = MessageHub.Instance; SubscribedEvent sEvent = new SubscribedEvent(); if (eventType == typeof(LoadLevelEvent)) { Action <LoadLevelEvent> loadEvent = null; loadEvent = new Action <LoadLevelEvent>(x => this.ProcessLoadLevelEvent(x)); var loadID = theLoad.LoadID; var token = map.Subscribe(loadEvent, x => x.Load.LoadID == loadID); sEvent.token = token; sEvent.eventType = typeof(LoadLevelEvent); } else { throw new Exception("Event Type not found"); } List <SubscribedEvent> list; if (!mydict.TryGetValue(theLoad, out list)) { list = new List <SubscribedEvent>(); mydict.Add(theLoad, list); } list.Add(sEvent); return(sEvent); }
public void RemoveLoad(LightingLoad load) { _loads.Remove(load); /* * var hub = MessageHub.Instance; */ //TODO: Unsubscribe }
public void AddLoad(LightingLoad load) { _loads.Add(load); /* * var hub = MessageHub.Instance; * Action<LoadEvent> loadEvent = new Action<LoadEvent>(x => this.ProcessLoadEvent(x)); * * //This is a reference to my event * //Probably need to keep a local copy of all events I'm subscribed to * var token = hub.Subscribe(loadEvent); */ }
public void LoadChanged(LightingLoad load, EventArgs args) { //_EIScom.BooleanInput[isOn].BoolValue = true; }
public void SubscribeToLoadEvents(LightingLoad _load) { SubscribeToEvent(_load, typeof(LoadLevelEvent)); }