UnityEditor.GameObjectInspector.DoStaticToggleField C# (CSharp) Method

DoStaticToggleField() private method

private DoStaticToggleField ( GameObject go ) : void
go UnityEngine.GameObject
return void
        private void DoStaticToggleField(GameObject go)
        {
            GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.ExpandWidth(false) };
            Rect totalPosition = GUILayoutUtility.GetRect(s_Styles.staticContent, EditorStyles.toggle, options);
            EditorGUI.BeginProperty(totalPosition, GUIContent.none, this.m_StaticEditorFlags);
            EditorGUI.BeginChangeCheck();
            Rect position = totalPosition;
            EditorGUI.showMixedValue |= ShowMixedStaticEditorFlags((StaticEditorFlags) this.m_StaticEditorFlags.intValue);
            Event current = Event.current;
            EventType type = current.type;
            bool flag = (current.type == EventType.MouseDown) && (current.button != 0);
            if (flag)
            {
                current.type = EventType.Ignore;
            }
            bool flagValue = EditorGUI.ToggleLeft(position, s_Styles.staticContent, go.isStatic);
            if (flag)
            {
                current.type = type;
            }
            EditorGUI.showMixedValue = false;
            if (EditorGUI.EndChangeCheck())
            {
                SceneModeUtility.SetStaticFlags(base.targets, -1, flagValue);
                base.serializedObject.SetIsDifferentCacheDirty();
            }
            EditorGUI.EndProperty();
        }