void ShowStates()
        {
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("States", new GUIStyle("boldLabel"), GUILayout.Width(100));

            callbackMask = EditorGUILayout.MaskField(callbackMask, StateMachineUtility.FullCallbackNames, GUILayout.Width(position.width / 2.55F));

            if (CustomEditorBase.AddButton())
            {
                AddState("");
            }

            GUILayout.Space(6);

            EditorGUILayout.EndHorizontal();

            EditorGUI.indentLevel += 1;

            for (int i = 0; i < states.Count; i++)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUI.BeginDisabledGroup(lockedStates.Contains(states[i]));

                states[i] = EditorGUILayout.TextField(states[i]);

                if (CustomEditorBase.DeleteButton())
                {
                    RemoveState(i);
                    break;
                }

                GUILayout.Space(6);

                EditorGUI.EndDisabledGroup();
                EditorGUILayout.EndHorizontal();
            }

            if (EditorGUIUtility.editingTextField && Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Tab)
            {
                AddState("");
            }

            EditorGUI.indentLevel -= 1;
            CustomEditorBase.Separator();
        }
Beispiel #2
0
        void ShowStates()
        {
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("States", new GUIStyle("boldLabel"));
            if (CustomEditorBase.AddButton())
            {
                states.Add("");
            }

            GUILayout.Space(6);

            EditorGUILayout.EndHorizontal();

            EditorGUI.indentLevel += 1;

            for (int i = 0; i < states.Count; i++)
            {
                EditorGUILayout.BeginHorizontal();

                states[i] = EditorGUILayout.TextField(states[i]);
                if (CustomEditorBase.DeleteButton())
                {
                    states.RemoveAt(i);
                    break;
                }

                GUILayout.Space(6);

                EditorGUILayout.EndHorizontal();
            }

            EditorGUI.indentLevel -= 1;

            ShowGenerateStatesButton();

            CustomEditorBase.Separator();
        }