private void ConstraintToggle(Rect r, string label, RigidbodyConstraints2D value, int bit)
{
bool flag = (value & (((int) 1) << bit)) != RigidbodyConstraints2D.None;
EditorGUI.showMixedValue = (this.m_Constraints.hasMultipleDifferentValuesBitwise & (((int) 1) << bit)) != 0;
EditorGUI.BeginChangeCheck();
int indentLevel = EditorGUI.indentLevel;
EditorGUI.indentLevel = 0;
flag = EditorGUI.ToggleLeft(r, label, flag);
EditorGUI.indentLevel = indentLevel;
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObjects(base.targets, "Edit Constraints2D");
this.m_Constraints.SetBitAtIndexForAllTargetsImmediate(bit, flag);
}
EditorGUI.showMixedValue = false;
}