// [Enable CaptureStackTrace] | [Enable AutoReload] | .... | Reload
        void RenderHeadPanel()
        {
            EditorGUILayout.BeginVertical(EmptyLayoutOption);
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar, EmptyLayoutOption);

            // lazy initialize...
            if (diagnosticsInfo == null)
            {
                if (GlobalMessagePipe.IsInitialized)
                {
                    diagnosticsInfo         = GlobalMessagePipe.DiagnosticsInfo;
                    EnableCaptureStackTrace = diagnosticsInfo.MessagePipeOptions.EnableCaptureStackTrace;
                }
            }

            if (GUILayout.Toggle(EnableCaptureStackTrace, EnableCaptureStackTraceHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableCaptureStackTrace)
            {
                if (CheckInitialized())
                {
                    diagnosticsInfo.MessagePipeOptions.EnableCaptureStackTrace = EnableCaptureStackTrace = !EnableCaptureStackTrace;
                }
            }

            if (GUILayout.Toggle(EnableCollapse, EnableCollapseHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableCollapse)
            {
                if (CheckInitialized())
                {
                    EnableCollapse = !EnableCollapse;
                    treeView.ReloadAndSort();
                    Repaint();
                }
            }

            if (GUILayout.Toggle(EnableAutoReload, EnableAutoReloadHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableAutoReload)
            {
                if (CheckInitialized())
                {
                    EnableAutoReload = !EnableAutoReload;
                    EditorPrefs.SetBool("MessagePipeDiagnosticsInfoWindow.EnableAutoReload", EnableAutoReload);
                }
            }

            GUILayout.FlexibleSpace();

            if (GUILayout.Button(ReloadHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption))
            {
                if (CheckInitialized())
                {
                    treeView.ReloadAndSort();
                    Repaint();
                }
            }

            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
        }
Beispiel #2
0
        public void ShouldCreateASubscriberAndAPublisher()
        {
            var messagePipeOptions         = new MessagePipeOptions();
            var messagePipeDiagnosticsInfo = new MessagePipeDiagnosticsInfo(messagePipeOptions);
            var messageBrokerCore          = new MessageBrokerCore <SomeEvent>(messagePipeDiagnosticsInfo, messagePipeOptions);
            var messageBroker = new MessageBroker <SomeEvent>(messageBrokerCore);

            var consumer  = new Consumer <SomeEvent>(messageBroker);
            var publisher = new Publisher <SomeEvent>(messageBroker);

            publisher.Send();

            Assert.True(consumer.Events.Count == 1);
        }