Exemple #1
0
        static Enum EnumMaskFieldInternal(Rect position, Enum enumValue, GUIStyle style)
        {
            Type enumType = enumValue.GetType();

            if (!enumType.IsEnum)
            {
                throw new ArgumentException("Parameter enumValue must be of type System.Enum", "enumValue");
            }

            var names = Enum.GetNames(enumType).Select(ObjectNames.NicifyVariableName).ToArray();
            int flags = MaskFieldGUIDeprecated.DoMaskField(
                IndentedRect(position),
                GUIUtility.GetControlID(s_MaskField, FocusType.Keyboard, position),
                Convert.ToInt32(enumValue),
                names, style);

            return(EnumDataUtility.IntToEnumFlags(enumType, flags));
        }
Exemple #2
0
        static Enum DoEnumMaskField(Rect position, GUIContent label, Enum enumValue, GUIStyle style, out int changedFlags, out bool changedToValue)
        {
            var enumType = enumValue.GetType();

            if (!enumType.IsEnum)
            {
                throw new ArgumentException("Parameter enumValue must be of type System.Enum", "enumValue");
            }

            var id    = GUIUtility.GetControlID(s_MaskField, FocusType.Keyboard, position);
            var names = Enum.GetNames(enumType).Select(ObjectNames.NicifyVariableName).ToArray();
            int flags = MaskFieldGUIDeprecated.DoMaskField(
                PrefixLabel(position, id, label),
                id,
                Convert.ToInt32(enumValue),
                names, style, out changedFlags, out changedToValue);

            return(EnumDataUtility.IntToEnumFlags(enumType, flags));
        }