//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();
 }
Example #2
0
    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);
    }