void ShowInherit()
        {
            List <string> options = new List <string> {
                " "
            };

            options.AddRange(StateMachineUtility.LayerTypes.ToStringArray());

            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Inherits From", GUILayout.Width(100));
            inherit = CustomEditorBase.Popup(inherit, options.ToArray(), GUIContent.none, GUILayout.MinWidth(150));
            inherit = inherit == " " ? "StateLayer" : inherit;

            EditorGUILayout.EndHorizontal();

            if (inherit == "StateLayer")
            {
                lockedStates.Clear();
            }
            else
            {
                lockedStates = StateMachineUtility.LayerStateNameDict[StateMachineUtility.FormatLayer(inherit)];

                for (int i = lockedStates.Count - 1; i >= 0; i--)
                {
                    if (!states.Contains(lockedStates[i]))
                    {
                        AddState(lockedStates[i]);
                    }

                    states.Move(states.IndexOf(lockedStates[i]), 0);
                }
            }
        }
Exemplo n.º 2
0
        void ShowGenerateStatesButton()
        {
            EditorGUILayout.Space();

            if (CustomEditorBase.LargeButton("Generate States".ToGUIContent()))
            {
                GenerateStates();
            }
        }
        void ShowGeneratesButton()
        {
            if (CustomEditorBase.LargeButton("Generate".ToGUIContent()))
            {
                Generate();
            }

            CustomEditorBase.Separator();
        }
Exemplo n.º 4
0
        void ShowLayer()
        {
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Layer", GUILayout.Width(50));
            layer = EditorGUILayout.TextField(layer);

            EditorGUILayout.EndHorizontal();

            ShowGenerateLayerButton();

            CustomEditorBase.Separator();
        }
        void ShowLayer()
        {
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Layer", new GUIStyle("boldLabel"), GUILayout.Width(100));
            layer = EditorGUILayout.TextField(layer);

            EditorGUILayout.EndHorizontal();

            ShowInherit();
            ShowSubLayer();

            CustomEditorBase.Separator();
        }
Exemplo n.º 6
0
        void ShowInherit()
        {
            List <string> options = new List <string> {
                "StateLayer"
            };

            options.AddRange(StateMachineEditor.LayerTypes.ToStringArray());

            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Inherits from", GUILayout.Width(100));
            inherit = CustomEditorBase.Popup(inherit, options.ToArray(), GUIContent.none, GUILayout.MinWidth(150));

            EditorGUILayout.EndHorizontal();
        }
        void ShowSubLayer()
        {
            List <string> options = new List <string> {
                " "
            };

            options.AddRange(StateMachineUtility.LayerTypes.ToStringArray());

            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Sublayer Of", GUILayout.Width(100));
            subLayer = CustomEditorBase.Popup(subLayer, options.ToArray(), GUIContent.none, GUILayout.MinWidth(150));
            subLayer = subLayer == " " ? "" : subLayer;

            EditorGUILayout.EndHorizontal();
        }
        void ShowPath()
        {
            EditorGUILayout.Space();

            EditorGUILayout.BeginHorizontal();

            GUIStyle style = new GUIStyle("boldLabel");

            EditorGUILayout.LabelField("Path: ".ToGUIContent(), style, GUILayout.Width("Path: ".GetWidth(style.font) + 13));
            path = CustomEditorBase.FolderPathButton(path, Application.dataPath.Substring(0, Application.dataPath.Length - 6));

            GUILayout.Space(5);

            EditorGUILayout.EndHorizontal();

            CustomEditorBase.Separator();
        }
        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();
        }
Exemplo n.º 10
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();
        }