Beispiel #1
0
        public void OnGUI(Rect area)
        {
            this.area = area;
            Event     current = Event.get_current();
            EventType type    = Event.get_current().get_type();

            this.toolbarHeight = EditorStyles.get_toolbar().get_fixedHeight();
            this.UpdateTicks();
            this.labelColor = EditorStyles.get_label().get_normal().get_textColor();
            this.line.SetColor(this.labelColor);
            this.toolbarRect.Set(area.get_x(), area.get_y(), area.get_width(), this.toolbarHeight);
            GUI.Box(this.toolbarRect, GUIContent.none, EditorStyles.get_toolbar());
            GUI.BeginGroup(area);
            if (type == 7)
            {
                this.graphRect.Set(0f, this.toolbarHeight, area.get_width(), area.get_height() - this.toolbarHeight);
                SkillEditorStyles.DarkPreviewBg.Draw(this.graphRect, false, false, false, false);
                this.DrawTicks(area);
            }
            if (type == 6 && current.get_mousePosition().x > 0f)
            {
                this.Zoom(current.get_mousePosition().x, -current.get_delta().y);
                current.Use();
            }
            if (type == 3 && (current.get_button() == 2 || Keyboard.AltAction()))
            {
                this.Move(-current.get_delta().x);
                current.Use();
            }
            GUI.EndGroup();
            if (area.Contains(current.get_mousePosition()) && type == null && current.get_mousePosition().y < this.toolbarHeight && this.TimelineClicked != null)
            {
                this.TimelineClicked(this.ScreenPositionToTime(current.get_mousePosition().x - area.get_x()));
            }
        }
Beispiel #2
0
 private void DoToolbar()
 {
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     this.searchBox.OnGUI();
     GUILayout.Space(10f);
     GUILayout.EndHorizontal();
 }
Beispiel #3
0
 private void DoMainToolbar()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     this.searchBox.OnGUI();
     SkillEditorGUILayout.ToolbarSettingsButton();
     GUILayout.Space(-5f);
     EditorGUILayout.EndHorizontal();
 }
Beispiel #4
0
        private static void DoToolbar()
        {
            GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
            string fullFsmLabel = Labels.GetFullFsmLabel(SkillEditor.SelectedFsm);

            if (GUILayout.Button(fullFsmLabel, EditorStyles.get_toolbarDropDown(), new GUILayoutOption[0]))
            {
                SkillEditorGUILayout.GenerateFsmSelectionMenu(true, false).ShowAsContext();
            }
            GUILayout.EndHorizontal();
        }
Beispiel #5
0
 private void DoToolbar()
 {
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     FsmEditorSettings.ConsoleActionReportSortOptionIndex = EditorGUILayout.Popup(FsmEditorSettings.ConsoleActionReportSortOptionIndex, this.sortOptions, EditorStyles.get_toolbarPopup(), new GUILayoutOption[0]);
     if (GUI.get_changed())
     {
         FsmEditorSettings.SaveSettings();
     }
     GUILayout.FlexibleSpace();
     GUILayout.EndHorizontal();
 }
Beispiel #6
0
 private void DoToolbar()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     this.searchBox.OnGUI();
     if (SkillEditorGUILayout.ToolbarSettingsButton())
     {
         GlobalEventsWindow.GenerateEventManagerMenu().ShowAsContext();
     }
     GUILayout.Space(-5f);
     EditorGUILayout.EndHorizontal();
 }
 private void DoMainToolbar()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     this.searchBox.OnGUI();
     if (SkillEditorGUILayout.ToolbarSettingsButton())
     {
         this.GenerateSettingsMenu().ShowAsContext();
     }
     GUILayout.Space(-5f);
     EditorGUILayout.EndHorizontal();
 }
 public override void Initialize()
 {
     this.isToolWindow       = true;
     TimelineWindow.instance = this;
     this.InitWindowTitle();
     base.set_minSize(new Vector2(300f, 100f));
     this.toolbarHeight   = EditorStyles.get_toolbar().get_fixedHeight();
     this.scrollbarHeight = GUI.get_skin().get_horizontalScrollbar().get_fixedHeight();
     this.RefreshList();
     this.LoadSettings();
 }
Beispiel #9
0
 private void DoToolbar()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     this.searchBox.OnGUI();
     if (SkillEditorGUILayout.ToolbarSettingsButton() && this.SettingsButtonClicked != null)
     {
         this.SettingsButtonClicked.Invoke();
     }
     GUILayout.Space(-5f);
     EditorGUILayout.EndHorizontal();
 }
 private void DoBottomToolbar()
 {
     GUI.set_enabled(true);
     GUI.set_backgroundColor(Color.get_white());
     GUI.set_color(Color.get_white());
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     if (GUILayout.Button(Strings.get_FsmLog_Clear(), EditorStyles.get_toolbarButton(), new GUILayoutOption[0]))
     {
         this.ClearLog();
     }
     GUILayout.FlexibleSpace();
     GUILayout.EndHorizontal();
 }
Beispiel #11
0
 public static void OnGUI(float width)
 {
     GUILayout.FlexibleSpace();
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[]
     {
         GUILayout.Width(width)
     });
     DebugToolbar.DoDebugControls();
     GUILayout.Space(10f);
     DebugToolbar.DoPlaybackControls();
     GUILayout.Space(10f);
     DebugToolbar.DoDebugFlowControls();
     GUILayout.EndHorizontal();
 }
Beispiel #12
0
 private void DoToolbar()
 {
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     SkillSelector.FsmFilter fsmFilter = (SkillSelector.FsmFilter)EditorGUILayout.EnumPopup(this.fsmFilter, EditorStyles.get_toolbarPopup(), new GUILayoutOption[0]);
     if (this.fsmFilter != fsmFilter)
     {
         this.SetFilterMode(fsmFilter);
     }
     if (SkillEditorGUILayout.ToolbarSettingsButton())
     {
         this.GenerateSettingsMenu().ShowAsContext();
     }
     GUILayout.Space(-10f);
     GUILayout.EndHorizontal();
 }
        private void DoMainToolbar()
        {
            GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
            string fullFsmLabel = Labels.GetFullFsmLabel(SkillEditor.SelectedFsm);

            if (GUILayout.Button(fullFsmLabel, EditorStyles.get_toolbarDropDown(), new GUILayoutOption[0]))
            {
                SkillEditorGUILayout.GenerateFsmSelectionMenu(false, false).ShowAsContext();
            }
            if (SkillEditorGUILayout.ToolbarSettingsButton())
            {
                SkillLogger.GenerateSettingsMenu().ShowAsContext();
            }
            GUILayout.Space(-5f);
            GUILayout.EndHorizontal();
        }
Beispiel #14
0
 private void DoToolbar()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     if (GUILayout.Button(Strings.get_ErrorSelector_Refresh(), EditorStyles.get_toolbarButton(), new GUILayoutOption[0]))
     {
         FsmErrorChecker.Refresh();
     }
     GUILayout.FlexibleSpace();
     this.filterByFsm = GUILayout.Toggle(this.filterByFsm, new GUIContent(Strings.get_ErrorSelector_Filter_Selected_FSM_Only(), Strings.get_ErrorSelector_Filter_Selected_FSM()), EditorStyles.get_toolbarButton(), new GUILayoutOption[0]);
     GUILayout.Space(5f);
     if (SkillEditorGUILayout.ToolbarSettingsButton())
     {
         ErrorSelector.GenerateSettingsMenu().ShowAsContext();
     }
     GUILayout.Space(-5f);
     EditorGUILayout.EndHorizontal();
 }
        public void OnGUI()
        {
            float num = SkillEditor.Window.get_position().get_width() - 350f;

            EditorGUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[]
            {
                GUILayout.Width(num)
            });
            MainToolbar.DoFsmSelectorGUI();
            MainToolbar.DoPrefabTypeGUI();
            GUILayout.FlexibleSpace();
            bool flag = GUILayout.Toggle(FsmEditorSettings.GraphViewShowMinimap, SkillEditorContent.MainToolbarShowMinimap, EditorStyles.get_toolbarButton(), new GUILayoutOption[0]);

            if (flag != FsmEditorSettings.GraphViewShowMinimap)
            {
                FsmEditorSettings.GraphViewShowMinimap = flag;
                FsmEditorSettings.SaveSettings();
            }
            EditorGUILayout.EndHorizontal();
        }
        private void DoBottomToolbar()
        {
            GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
            bool flag = GUILayout.Toggle(FsmEditorSettings.ShowHints, Strings.get_Command_Toggle_Hints(), EditorStyles.get_toolbarButton(), new GUILayoutOption[]
            {
                GUILayout.MaxWidth(100f)
            });

            if (flag != FsmEditorSettings.ShowHints)
            {
                FsmEditorSettings.ShowHints = flag;
                FsmEditorSettings.SaveSettings();
                SkillEditor.RepaintAll();
            }
            if (GUILayout.Button(Strings.get_Command_Preferences(), EditorStyles.get_toolbarButton(), new GUILayoutOption[]
            {
                GUILayout.MinWidth(150f)
            }))
            {
                this.inspectorMode = InspectorMode.Preferences;
            }
            GUILayout.EndHorizontal();
        }
 private void DoListView()
 {
     this.listArea.Set(0f, this.toolbarHeight, this.listWidth, base.get_position().get_height() - this.toolbarHeight - this.scrollbarHeight);
     this.listItemArea.Set(0f, 0f, this.listWidth, 20f);
     if (this.autoScroll)
     {
         float num = (float)this.selectedIndex * 20f;
         if (num < this.scrollPosition.y)
         {
             this.scrollPosition.y = num;
         }
         else
         {
             if (num > this.scrollPosition.y + this.listArea.get_height() - 20f)
             {
                 this.scrollPosition.y = (float)(this.selectedIndex + 1) * 20f - this.listArea.get_height();
             }
         }
         this.autoScroll = false;
     }
     GUI.BeginGroup(this.listArea);
     if (this.FsmList.get_Count() == 0)
     {
         GUILayout.Label(Strings.get_Label_None(), new GUILayoutOption[0]);
     }
     this.firstVisibleItem = Mathf.FloorToInt(this.scrollPosition.y / 20f);
     this.firstVisibleItem = Mathf.Clamp(this.firstVisibleItem, 0, this.FsmList.get_Count());
     this.lastVisibleItem  = this.firstVisibleItem + Mathf.CeilToInt(this.listArea.get_height() / 20f) + 1;
     this.lastVisibleItem  = Mathf.Clamp(this.lastVisibleItem, 0, this.FsmList.get_Count());
     this.listItemArea.set_y((float)this.firstVisibleItem * 20f - this.scrollPosition.y);
     for (int i = this.firstVisibleItem; i < this.lastVisibleItem; i++)
     {
         Skill fsm  = this.FsmList.get_Item(i);
         bool  flag = SkillEditor.SelectedFsm == fsm;
         if (flag)
         {
             if (this.eventType == 7)
             {
                 GUI.DrawTexture(this.listItemArea, SkillEditorStyles.SelectedBG);
             }
             if (this.selectedIndex != i)
             {
                 this.autoScroll = true;
             }
             this.selectedIndex = i;
         }
         if (GUI.Button(this.listItemArea, Labels.GetRuntimeFsmLabelToFit(fsm, this.listWidth, SkillEditorStyles.TableRowText), flag ? SkillEditorStyles.TableRowTextSelected : SkillEditorStyles.TableRowText))
         {
             this.SelectFsm(fsm);
         }
         this.listItemArea.set_y(this.listItemArea.get_y() + 20f);
         this.line.SetColor(SkillEditorStyles.LabelTextColor);
         this.line.DrawLine(0.05f, 0f, this.listItemArea.get_y() - 1f, this.listWidth, this.listItemArea.get_y() - 1f);
     }
     GUI.EndGroup();
     if (this.listArea.Contains(this.currentEvent.get_mousePosition()) && this.eventType == 6)
     {
         this.scrollPosition.y = this.scrollPosition.y + this.currentEvent.get_delta().y;
         base.Repaint();
     }
     this.listArea.Set(0f, base.get_position().get_height() - this.scrollbarHeight, this.listWidth, this.scrollbarHeight);
     GUI.Box(this.listArea, GUIContent.none, EditorStyles.get_toolbar());
     if (GUI.Button(this.listArea, Strings.get_Label_Refresh(), EditorStyles.get_toolbarButton()))
     {
         this.RefreshList();
     }
 }
        private void DoModeSelector()
        {
            InspectorMode inspectorMode = (InspectorMode)GUILayout.Toolbar((int)this.inspectorMode, InspectorPanel.InspectorModeLabels, SkillEditorStyles.ToolbarTab, new GUILayoutOption[0]);

            if (inspectorMode != this.inspectorMode)
            {
                this.SetMode(inspectorMode);
            }
            if (FsmErrorChecker.StateHasActionErrors(SkillEditor.SelectedState))
            {
                GUI.Box(this.errorBox, SkillEditorStyles.StateErrorIcon, SkillEditorStyles.InlineErrorIcon);
            }
            else
            {
                GUI.Box(this.errorBox, GUIContent.none, GUIStyle.get_none());
            }
            if (DragAndDropManager.mode == DragAndDropManager.DragMode.None && Event.get_current().get_type() == 9)
            {
                Vector2 mousePosition = Event.get_current().get_mousePosition();
                if (mousePosition.x > 0f && mousePosition.y > 0f && mousePosition.y < EditorStyles.get_toolbar().get_fixedHeight())
                {
                    int num = Mathf.FloorToInt(4f * mousePosition.x / 350f);
                    if (this.mouseOverTab != num)
                    {
                        this.mouseOverStartTime = EditorApplication.get_timeSinceStartup();
                        this.mouseOverTab       = num;
                    }
                    if (EditorApplication.get_timeSinceStartup() - this.mouseOverStartTime > 0.5)
                    {
                        this.mouseOverStartTime = EditorApplication.get_timeSinceStartup();
                        switch (num)
                        {
                        case 0:
                            this.SetMode(InspectorMode.FsmInspector);
                            GUIUtility.ExitGUI();
                            return;

                        case 1:
                            this.SetMode(InspectorMode.StateInspector);
                            GUIUtility.ExitGUI();
                            return;

                        case 2:
                            this.SetMode(InspectorMode.EventManager);
                            GUIUtility.ExitGUI();
                            return;

                        case 3:
                            this.SetMode(InspectorMode.VariableManager);
                            GUIUtility.ExitGUI();
                            return;

                        default:
                            return;
                        }
                    }
                }
                else
                {
                    this.mouseOverTab = -1;
                }
            }
        }
        public void OnGUI(Rect area)
        {
            EditorGUI.set_indentLevel(0);
            GUILayout.BeginArea(area);
            if (EditorApplication.get_isPlaying() && FsmEditorSettings.DisableInspectorWhenPlaying)
            {
                GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
                GUILayout.FlexibleSpace();
                GUILayout.EndHorizontal();
                GUILayout.Label(Strings.get_Hint_Inspector_disabled_when_playing(), new GUILayoutOption[0]);
                FsmEditorSettings.DisableInspectorWhenPlaying = !GUILayout.Toggle(!FsmEditorSettings.DisableInspectorWhenPlaying, Strings.get_Hint_Enable_inspector_when_playing(), new GUILayoutOption[0]);
                if (GUI.get_changed())
                {
                    FsmEditorSettings.SaveSettings();
                }
                GUILayout.EndArea();
                return;
            }
            this.View = area;
            SkillEditorGUILayout.LabelWidth(150f);
            GUILayout.BeginVertical(new GUILayoutOption[0]);
            this.DoModeSelector();
            if (this.inspectorMode != InspectorMode.FsmInspector && this.inspectorMode != InspectorMode.Preferences && !Application.get_isPlaying() && SkillEditor.SelectedFsmUsesTemplate)
            {
                GUILayout.Label(Strings.get_Label_FSM_Uses_Template(), new GUILayoutOption[0]);
                if (FsmEditorSettings.ShowHints)
                {
                    GUILayout.Box(Strings.get_InspectorPanel_FSM_Uses_Template(), SkillEditorStyles.HintBox, new GUILayoutOption[0]);
                }
                GUILayout.FlexibleSpace();
            }
            else
            {
                if (this.inspectorMode != InspectorMode.Preferences)
                {
                    SkillEditorGUILayout.UnlockFsmGUI(SkillEditor.SelectedFsm);
                    EditorGUI.BeginDisabledGroup(SkillEditor.SelectedFsm != null && SkillEditor.SelectedFsm.get_Locked());
                }
                switch (this.inspectorMode)
                {
                case InspectorMode.FsmInspector:
                    FsmInspector.OnGUI();
                    break;

                case InspectorMode.StateInspector:
                    if (!SkillEditor.SelectedFsmIsLocked)
                    {
                        InspectorPanel.BeginPrefabInstanceCheck();
                        SkillEditor.StateInspector.OnGUI();
                        InspectorPanel.EndPrefabInstanceCheck();
                    }
                    else
                    {
                        GUILayout.FlexibleSpace();
                    }
                    break;

                case InspectorMode.EventManager:
                    if (!SkillEditor.SelectedFsmIsLocked)
                    {
                        InspectorPanel.BeginPrefabInstanceCheck();
                        SkillEditor.EventManager.OnGUI();
                        InspectorPanel.EndPrefabInstanceCheck();
                    }
                    else
                    {
                        GUILayout.FlexibleSpace();
                    }
                    break;

                case InspectorMode.VariableManager:
                    if (!SkillEditor.SelectedFsmIsLocked)
                    {
                        InspectorPanel.BeginPrefabInstanceCheck();
                        SkillEditor.VariableManager.OnGUI();
                        InspectorPanel.EndPrefabInstanceCheck();
                    }
                    else
                    {
                        GUILayout.FlexibleSpace();
                    }
                    break;

                case InspectorMode.Preferences:
                    FsmEditorSettings.OnGUI();
                    break;

                case InspectorMode.Watermarks:
                    WatermarkSelector.OnGUI();
                    break;
                }
                if (this.inspectorMode != InspectorMode.Preferences)
                {
                    EditorGUI.EndDisabledGroup();
                }
            }
            this.DoBottomToolbar();
            GUILayout.EndVertical();
            GUILayout.EndArea();
        }
Beispiel #20
0
        private void DoVariableTable()
        {
            this.scrollPosition = GUILayout.BeginScrollView(this.scrollPosition, new GUILayoutOption[0]);
            if (FsmEditorSettings.ShowHints)
            {
                GUILayout.Box(Strings.get_Hint_Variable_Panel(), SkillEditorStyles.HintBox, new GUILayoutOption[0]);
            }
            if (this.fsmVariables.get_Count() == 0)
            {
                GUILayout.BeginHorizontal(SkillEditorStyles.TableRowBox, new GUILayoutOption[0]);
                GUILayout.Label(Strings.get_Label_None_In_Table(), new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
            }
            else
            {
                if (this.filteredVariables.get_Count() == 0)
                {
                    GUILayout.Label("No search results for: " + this.searchString, new GUILayoutOption[0]);
                }
            }
            int num = 0;

            for (int i = 0; i < this.filteredVariables.get_Count(); i++)
            {
                SkillVariable fsmVariable = this.filteredVariables.get_Item(i);
                int           categoryID  = fsmVariable.CategoryID;
                if (categoryID > 0 && categoryID != num)
                {
                    num = categoryID;
                    this.categoryLabels.get_Item(num).OnGUI(new GUILayoutOption[0]);
                    SkillEditorGUILayout.LightDivider(new GUILayoutOption[0]);
                }
                bool flag = fsmVariable == this.selectedFsmVariable;
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                GUILayout.BeginHorizontal(flag ? SkillEditorStyles.SelectedEventBox : (FsmEditorSettings.DebugVariables ? SkillEditorStyles.TableRowBoxNoDivider : SkillEditorStyles.TableRowBox), new GUILayoutOption[0]);
                GUIStyle gUIStyle = flag ? SkillEditorStyles.TableRowTextSelected : SkillEditorStyles.TableRowText;
                if (GUILayout.Button(new GUIContent(fsmVariable.Name, fsmVariable.Tooltip), gUIStyle, new GUILayoutOption[]
                {
                    GUILayout.MinWidth(155f)
                }))
                {
                    this.SelectVariable(fsmVariable);
                    if ((Event.get_current().get_button() == 1 || EditorGUI.get_actionKey()) && this.VariableContextClicked != null)
                    {
                        this.VariableContextClicked(fsmVariable);
                    }
                }
                GUILayout.FlexibleSpace();
                int usedCount = this.GetUsedCount(fsmVariable.NamedVar);
                GUILayout.Label((usedCount >= 0) ? usedCount.ToString(CultureInfo.get_CurrentCulture()) : "-", gUIStyle, new GUILayoutOption[0]);
                GUILayout.Space(10f);
                bool changed = GUI.get_changed();
                GUI.set_changed(false);
                VariableType newType = EditorGUILayout.Popup(fsmVariable.Type, SkillVariable.VariableTypeNames, new GUILayoutOption[]
                {
                    GUILayout.MaxWidth(114f)
                });
                if (GUI.get_changed())
                {
                    this.ChangeVariableType(fsmVariable, newType);
                    GUIUtility.ExitGUI();
                    return;
                }
                GUI.set_changed(changed);
                if (SkillEditorGUILayout.DeleteButton())
                {
                    this.DeleteVariable(fsmVariable, true, true);
                    GUIUtility.ExitGUI();
                    return;
                }
                GUILayout.EndHorizontal();
                if (FsmEditorSettings.DebugVariables)
                {
                    SkillEditorGUILayout.ReadonlyTextField(fsmVariable.NamedVar.ToString(), new GUILayoutOption[0]);
                }
                GUILayout.EndVertical();
                if (flag)
                {
                    this.selectedIndex = i;
                    if (Event.get_current().get_type() == 7)
                    {
                        this.selectedRect = GUILayoutUtility.GetLastRect();
                        this.selectedRect.set_y(this.selectedRect.get_y() - this.scrollPosition.y);
                    }
                }
            }
            Rect lastRect = GUILayoutUtility.GetLastRect();

            this.mouseOverTable = (Event.get_current().get_mousePosition().y < lastRect.get_y() + lastRect.get_height());
            if (this.fsmOwner != null)
            {
                this.DoGlobalVariablesTable();
            }
            GUILayout.Space(20f);
            GUILayout.FlexibleSpace();
            GUILayout.EndScrollView();
            this.DoAutoScroll();
            GUILayout.EndVertical();
            if (Event.get_current().get_type() == 7)
            {
                FsmVariablesEditor.tableHeight = GUILayoutUtility.GetLastRect().get_height() + GUI.get_skin().get_horizontalScrollbar().get_fixedHeight() + EditorStyles.get_toolbar().get_fixedHeight();
            }
        }
 public override void DoGUI()
 {
     SkillEditorStyles.Init();
     SkillEditorGUILayout.ToolWindowLargeTitle(this, Strings.get_CustomActionWizard_Full_Title());
     SkillEditorGUILayout.LabelWidth(200f);
     this.HandleDragPreviewDivider();
     this.controlsScrollPosition = EditorGUILayout.BeginScrollView(this.controlsScrollPosition, new GUILayoutOption[0]);
     EditorGUI.set_indentLevel(1);
     CustomActionWizard.ControlGroup(Strings.get_CustomActionWizard_Group_Name_and_Description());
     this.actionName = SkillEditorGUILayout.TextFieldWithHint(this.actionName, Strings.get_CustomActionWizard_Label_Action_Name(), new GUILayoutOption[0]);
     this.tooltip    = SkillEditorGUILayout.TextAreaWithHint(this.tooltip, Strings.get_CustomActionWizard_Label_Description(), new GUILayoutOption[]
     {
         GUILayout.Height(80f)
     });
     CustomActionWizard.ControlGroup(Strings.get_CustomActionWizard_Group_Category());
     GUI.set_enabled(string.IsNullOrEmpty(this.customCategory));
     this.selectedCategory = EditorGUILayout.Popup(Strings.get_CustomActionWizard_Select_Category(), this.selectedCategory, this.actionCategories, new GUILayoutOption[0]);
     GUI.set_enabled(true);
     this.customCategory = EditorGUILayout.TextField(Strings.get_CustomActionWizard_Custom_Category(), this.customCategory, new GUILayoutOption[0]);
     CustomActionWizard.ControlGroup(Strings.get_CustomActionWizard_Generated_Code_Folder());
     this.rootFolder = EditorGUILayout.TextField(Strings.get_CustomActionWizard_Root_Folder(), this.rootFolder, new GUILayoutOption[0]);
     GUI.set_enabled(!this.folderSameAsCategory);
     this.actionFolder = EditorGUILayout.TextField(Strings.get_CustomActionWizard_Action_Folder(), this.actionFolder, new GUILayoutOption[0]);
     GUI.set_enabled(true);
     this.folderSameAsCategory = EditorGUILayout.Toggle(Strings.get_CustomActionWizard_Same_as_Category(), this.folderSameAsCategory, new GUILayoutOption[0]);
     CustomActionWizard.ControlGroup(Strings.get_CustomActionWizard_Add_Methods());
     this.handlesOnEnter        = EditorGUILayout.Toggle("OnEnter", this.handlesOnEnter, new GUILayoutOption[0]);
     this.handlesOnUpdate       = EditorGUILayout.Toggle("OnUpdate", this.handlesOnUpdate, new GUILayoutOption[0]);
     this.handlesOnFixedUpdate  = EditorGUILayout.Toggle("OnFixedUpdate", this.handlesOnFixedUpdate, new GUILayoutOption[0]);
     this.handlesOnLateUpdate   = EditorGUILayout.Toggle("OnLateUpdate", this.handlesOnLateUpdate, new GUILayoutOption[0]);
     this.handlesOnExit         = EditorGUILayout.Toggle("OnExit", this.handlesOnExit, new GUILayoutOption[0]);
     this.hasCustomErrorChecker = EditorGUILayout.Toggle(Strings.get_CustomActionWizard_Custom_Error_Checker(), this.hasCustomErrorChecker, new GUILayoutOption[0]);
     EditorGUILayout.EndScrollView();
     if (!this.isValid)
     {
         SkillEditorGUILayout.Divider(new GUILayoutOption[0]);
         EditorGUI.set_indentLevel(0);
         EditorGUILayout.HelpBox(this.errorString, 3, true);
     }
     GUILayout.BeginHorizontal(EditorStyles.get_toolbar(), new GUILayoutOption[0]);
     GUILayout.Label(Strings.get_CustomActionWizard_Code_Preview(), new GUILayoutOption[0]);
     GUILayout.FlexibleSpace();
     GUILayout.EndHorizontal();
     if (Event.get_current().get_type() == 7)
     {
         this.previewDividerRect = GUILayoutUtility.GetLastRect();
     }
     EditorGUIUtility.AddCursorRect(this.previewDividerRect, 2);
     this.previewScrollPosition = EditorGUILayout.BeginScrollView(this.previewScrollPosition, new GUILayoutOption[]
     {
         GUILayout.MinHeight(this.previewHeight)
     });
     GUILayout.Label(this.code, new GUILayoutOption[0]);
     EditorGUILayout.EndScrollView();
     SkillEditorGUILayout.Divider(new GUILayoutOption[0]);
     GUILayout.Label(Strings.get_CustomActionWizard_File_Path_Prefix() + this.localAssetFilename, new GUILayoutOption[0]);
     GUILayout.BeginHorizontal(new GUILayoutOption[0]);
     GUI.set_enabled(this.isValid);
     if (GUILayout.Button(Strings.get_CustomActionWizard_Save_Button(), new GUILayoutOption[0]))
     {
         this.SaveCustomAction();
         GUIUtility.ExitGUI();
         return;
     }
     GUI.set_enabled(true);
     if (GUILayout.Button(new GUIContent(Strings.get_CustomActionWizard_Find_File(), Strings.get_CustomActionWizard_Find_File_Tooltip()), new GUILayoutOption[]
     {
         GUILayout.MaxWidth(100f)
     }))
     {
         this.PingScriptFile();
     }
     if (GUILayout.Button(new GUIContent(Strings.get_CustomActionWizard_Copy_Code(), Strings.get_CustomActionWizard_Copy_Code_Tooltip()), new GUILayoutOption[]
     {
         GUILayout.MaxWidth(100f)
     }))
     {
         this.CopyCodeToClipboard();
     }
     GUILayout.EndHorizontal();
     GUILayout.Space(10f);
     EditorGUI.set_indentLevel(0);
     if (GUI.get_changed())
     {
         this.UpdateGUI();
         GUIUtility.ExitGUI();
     }
 }