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); } } }
void ShowGenerateStatesButton() { EditorGUILayout.Space(); if (CustomEditorBase.LargeButton("Generate States".ToGUIContent())) { GenerateStates(); } }
void ShowGeneratesButton() { if (CustomEditorBase.LargeButton("Generate".ToGUIContent())) { Generate(); } CustomEditorBase.Separator(); }
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(); }
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(); }
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(); }