private void DoGlobalEventsGUI()
        {
            // TODO:
            // Context menu to find usages
            // Usages count

            DoSectionTitle(Strings.Label_Global_Events);

            foreach (var eventName in globals.Events)
            {
                var rect = GUILayoutUtility.GetRect(GUIContent.none, FsmEditorStyles.EventGlobalButton);
                sendIcon.Set(rect.x + 4, rect.y + 3, 12, rect.height - 4);

                FsmEditorContent.EventSendGlobalButton.text = eventName;
                if (GUI.Button(rect, FsmEditorContent.EventSendGlobalButton, FsmEditorStyles.EventGlobalButton))
                {
                    PlayMakerFSM.BroadcastEvent(eventName);
                }

                if (Event.current.type == EventType.Repaint)
                {
                    GUIStyle.none.Draw(sendIcon, FsmEditorStyles.BroadcastIcon);
                }
            }

            GUILayout.Space(10);

            GUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Refresh"))
            {
                Init();
            }

            if (GUILayout.Button("Open Events Browser", GUILayout.Width(EditButtonWidth)))
            {
                if (FsmEditor.Instance == null)
                {
                    FsmEditor.Open();
                }
                FsmEditor.OpenGlobalEventsWindow();
            }

            GUILayout.EndHorizontal();
        }
        private void DoGlobalVariablesGUI()
        {
            DoSectionTitle(Strings.Command_Global_Variables);

            //EditorGUILayout.HelpBox(Strings.Hint_GlobalsInspector_Shows_DEFAULT_Values, MessageType.None);
            EditorGUILayout.HelpBox("NOTE: This inspector shows the default values of variables. " +
                                    "\nTo see current values while playing use the PlayMaker Editor: " +
                                    "\nGlobals Variables Window, State Inspector Debug etc.", MessageType.None);

            if (variables.Count > 0)
            {
                var listSerializedObject = variables[0].SerializedObject;
                listSerializedObject.Update();

                EditorGUI.BeginChangeCheck();

                FsmVariable.DoVariableListGUI(variables);

                if (EditorGUI.EndChangeCheck())
                {
                    listSerializedObject.ApplyModifiedProperties();
                }
            }

            GUILayout.Space(10);

            GUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Refresh"))
            {
                Init();
            }

            if (GUILayout.Button("Open Globals Window", GUILayout.Width(EditButtonWidth)))
            {
                if (FsmEditor.Instance == null)
                {
                    FsmEditor.Open();
                }
                FsmEditor.OpenGlobalVariablesWindow();
            }

            GUILayout.EndHorizontal();
        }