UnityEditor.SnapSettings.OnGUI C# (CSharp) Method

OnGUI() private method

private OnGUI ( ) : void
return void
        private void OnGUI()
        {
            if (ms_Styles == null)
            {
                ms_Styles = new Styles();
            }
            GUILayout.Space(5f);
            EditorGUI.BeginChangeCheck();
            Vector3 move = SnapSettings.move;
            move.x = EditorGUILayout.FloatField(ms_Styles.moveX, move.x, new GUILayoutOption[0]);
            move.y = EditorGUILayout.FloatField(ms_Styles.moveY, move.y, new GUILayoutOption[0]);
            move.z = EditorGUILayout.FloatField(ms_Styles.moveZ, move.z, new GUILayoutOption[0]);
            if (EditorGUI.EndChangeCheck())
            {
                if (move.x <= 0f)
                {
                    move.x = SnapSettings.move.x;
                }
                if (move.y <= 0f)
                {
                    move.y = SnapSettings.move.y;
                }
                if (move.z <= 0f)
                {
                    move.z = SnapSettings.move.z;
                }
                SnapSettings.move = move;
            }
            scale = EditorGUILayout.FloatField(ms_Styles.scale, scale, new GUILayoutOption[0]);
            rotation = EditorGUILayout.FloatField(ms_Styles.rotation, rotation, new GUILayoutOption[0]);
            GUILayout.Space(5f);
            bool flag = false;
            bool flag2 = false;
            bool flag3 = false;
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            if (GUILayout.Button(ms_Styles.snapAllAxes, ms_Styles.buttonLeft, new GUILayoutOption[0]))
            {
                flag = true;
                flag2 = true;
                flag3 = true;
            }
            if (GUILayout.Button(ms_Styles.snapX, ms_Styles.buttonMid, new GUILayoutOption[0]))
            {
                flag = true;
            }
            if (GUILayout.Button(ms_Styles.snapY, ms_Styles.buttonMid, new GUILayoutOption[0]))
            {
                flag2 = true;
            }
            if (GUILayout.Button(ms_Styles.snapZ, ms_Styles.buttonRight, new GUILayoutOption[0]))
            {
                flag3 = true;
            }
            GUILayout.EndHorizontal();
            if ((flag | flag2) | flag3)
            {
                Vector3 vector5 = new Vector3(1f / SnapSettings.move.x, 1f / SnapSettings.move.y, 1f / SnapSettings.move.z);
                Undo.RecordObjects(Selection.transforms, "Snap " + ((Selection.transforms.Length != 1) ? " selection" : Selection.activeGameObject.name) + " to grid");
                foreach (Transform transform in Selection.transforms)
                {
                    Vector3 position = transform.position;
                    if (flag)
                    {
                        float introduced15 = Mathf.Round(position.x * vector5.x);
                        position.x = introduced15 / vector5.x;
                    }
                    if (flag2)
                    {
                        float introduced16 = Mathf.Round(position.y * vector5.y);
                        position.y = introduced16 / vector5.y;
                    }
                    if (flag3)
                    {
                        float introduced17 = Mathf.Round(position.z * vector5.z);
                        position.z = introduced17 / vector5.z;
                    }
                    transform.position = position;
                }
            }
        }