//Constructor public EditorObjectConnection(EditorObject.EditorObjectMessage message, EditorObject caller, EditorObject subject, EventTransceiver.Events onEvent) { OnEvent = onEvent; Message = message; Caller = caller; Subject = subject; GUID = System.Guid.NewGuid().ToString(); SetColor(); }
public void BuildConnections() { if (_registry.Count <= 0) { Console.Instance.OutputToConsole(string.Format("{0}: There were no connections to build.", this.ToString()), Console.Instance.Style_Admin); return; } Console.Instance.OutputToConsole(string.Format("{0}: Building {1} connections.", this.ToString(), _registry.Count), Console.Instance.Style_Admin); foreach (EditorObjectConnection connection in _registry) { switch (connection.Message) { case EditorObject.EditorObjectMessage.Activate: EventManager.Instance.AddHandler(EventTransceiver.LookupEvent(connection.OnEvent).GetType(), connection.Subject.OnActivate); break; case EditorObject.EditorObjectMessage.Deactivate: EventManager.Instance.AddHandler(EventTransceiver.LookupEvent(connection.OnEvent).GetType(), connection.Subject.OnDeactivate); break; case EditorObject.EditorObjectMessage.Toggle: EventManager.Instance.AddHandler(EventTransceiver.LookupEvent(connection.OnEvent).GetType(), connection.Subject.OnToggle); break; case EditorObject.EditorObjectMessage.Enable: EventManager.Instance.AddHandler(EventTransceiver.LookupEvent(connection.OnEvent).GetType(), connection.Subject.OnEnabled); break; case EditorObject.EditorObjectMessage.Disable: EventManager.Instance.AddHandler(EventTransceiver.LookupEvent(connection.OnEvent).GetType(), connection.Subject.OnDisabled); break; default: break; } } Console.Instance.OutputToConsole(string.Format("{0}: Connections established.", this.ToString()), Console.Instance.Style_Admin); }