UnityEditor.EditorGUILayout.BitToggleField C# (CSharp) Méthode

BitToggleField() static private méthode

static private BitToggleField ( string label, UnityEditor.SerializedProperty bitFieldProperty, int flag ) : bool
label string
bitFieldProperty UnityEditor.SerializedProperty
flag int
Résultat bool
        internal static bool BitToggleField(string label, SerializedProperty bitFieldProperty, int flag)
        {
            bool flag2 = (bitFieldProperty.intValue & flag) != 0;
            bool flag3 = (bitFieldProperty.hasMultipleDifferentValuesBitwise & flag) != 0;
            EditorGUI.showMixedValue = flag3;
            EditorGUI.BeginChangeCheck();
            flag2 = Toggle(label, flag2, new GUILayoutOption[0]);
            if (EditorGUI.EndChangeCheck())
            {
                if (flag3)
                {
                    flag2 = true;
                }
                flag3 = false;
                int index = -1;
                for (int i = 0; i < 0x20; i++)
                {
                    if (((((int) 1) << i) & flag) != 0)
                    {
                        index = i;
                        break;
                    }
                }
                bitFieldProperty.SetBitAtIndexForAllTargetsImmediate(index, flag2);
            }
            EditorGUI.showMixedValue = false;
            return (flag2 && !flag3);
        }