UnityEditor.EditorGUILayout.EnumPopup C# (CSharp) Method

EnumPopup() public static method

Make an enum popup selection field.

public static EnumPopup ( Enum selected ) : Enum
selected System.Enum The enum option the field shows.
return System.Enum
        public static Enum EnumPopup(Enum selected, params GUILayoutOption[] options)
        {
            return EnumPopup(selected, EditorStyles.popup, options);
        }

Same methods

EditorGUILayout::EnumPopup ( Enum selected, GUIStyle style ) : Enum
EditorGUILayout::EnumPopup ( GUIContent label, Enum selected ) : Enum
EditorGUILayout::EnumPopup ( GUIContent label, Enum selected, GUIStyle style ) : Enum
EditorGUILayout::EnumPopup ( string label, Enum selected ) : Enum
EditorGUILayout::EnumPopup ( string label, Enum selected, GUIStyle style ) : Enum

Usage Example

示例#1
0
        void FromStateFilterInspector(TransitionProfile profile, FromStateFilter filter, ref Rect stateRect)
        {
            EGL.BeginHorizontal();
            filter.type = (FromStateType)EGL.EnumPopup(filter.type, GL.Width(70));

            if (filter.type == FromStateType.State)
            {
                EditorGUIUtil.AutoCompleteList(filter.stateOrTagName, allStateNames, str => filter.stateOrTagName = str, ref stateRect);
            }
            else if (filter.type == FromStateType.Tag)
            {
                EditorGUIUtil.AutoCompleteList(filter.stateOrTagName, transition.profile.tags, str => filter.stateOrTagName = str, ref stateRect);
            }

            if (filter.type == FromStateType.State)
            {
                var state = transition.profile.FindState(filter.stateOrTagName);
                if (state == null)
                {
                    EGL.EndHorizontal();
                    EGL.HelpBox("No Source State", MessageType.Error);
                }
                else
                {
                    List <string> portionSelections = new List <string>();
                    portionSelections.Add("<any>");
                    foreach (var p in state.allPortions)
                    {
                        portionSelections.Add(p.name);
                    }

                    var prevIndex = portionSelections.IndexOf(filter.portionName);
                    if (prevIndex == -1)
                    {
                        prevIndex = 0;
                    }

                    prevIndex          = EGL.Popup(prevIndex, portionSelections.ToArray());
                    filter.portionName = prevIndex == 0 ? "" : portionSelections[prevIndex];

                    if (GL.Button("Focus"))
                    {
                        Utils.FocusEditingAnimation(profile, state.stateName);
                    }
                    EGL.EndHorizontal();
                }
            }
            else
            {
                EGL.EndHorizontal();
            }
        }
All Usage Examples Of UnityEditor.EditorGUILayout::EnumPopup