Beispiel #1
0
        //Distribute
        void DrawDistributeSection()
        {
            EditorGUILayout.LabelField("Bounds: Start/End", EditorStyles.boldLabel, GUILayout.Width(180));

            EditorGUILayout.BeginHorizontal();
            bTools.TransformComponent.TransformToolsWindow.distributeStartBounds = EditorGUILayout.ObjectField(string.Empty, (Object)bTools.TransformComponent.TransformToolsWindow.distributeStartBounds, typeof(UnityEngine.Transform), true, GUILayout.Width(92)) as UnityEngine.Transform;
            bTools.TransformComponent.TransformToolsWindow.distributeEndBounds   = EditorGUILayout.ObjectField(string.Empty, (Object)bTools.TransformComponent.TransformToolsWindow.distributeEndBounds, typeof(UnityEngine.Transform), true, GUILayout.Width(92)) as UnityEngine.Transform;
            EditorGUILayout.EndHorizontal();
            GUILayout.Space(2);

            EditorGUI.BeginDisabledGroup(distributeStartBounds == null || distributeEndBounds == null ? true : false);

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pos", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                TransformTools.DistributePosition(distributeStartBounds.position, distributeEndBounds.position, Selection.transforms);
            }

            if (GUILayout.Button("X", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                Undo.RecordObjects(Selection.transforms, "Transform Distribute");
                TransformTools.DistributeXPosition(distributeStartBounds.position, distributeEndBounds.position, Selection.transforms);
            }
            if (GUILayout.Button("Y", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                TransformTools.DistributeYPosition(distributeStartBounds.position, distributeEndBounds.position, Selection.transforms);
            }
            if (GUILayout.Button("Z", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                TransformTools.DistributeZPosition(distributeStartBounds.position, distributeEndBounds.position, Selection.transforms);
            }

            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("Rotation (Quaternion)", GUILayout.Width(172), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }
                TransformTools.DistributeRotation(distributeStartBounds.rotation, distributeEndBounds.rotation, Selection.transforms);
            }

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Scl", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                Undo.RecordObjects(Selection.transforms, "Transform Distribute");
                TransformTools.DistributeScale(distributeStartBounds.localScale, distributeEndBounds.localScale, Selection.transforms);
            }

            if (GUILayout.Button("X", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                Undo.RecordObjects(Selection.transforms, "Transform Distribute");
                TransformTools.DistributeXScale(distributeStartBounds.localScale.x, distributeEndBounds.localScale.x, Selection.transforms);
            }
            if (GUILayout.Button("Y", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                Undo.RecordObjects(Selection.transforms, "Transform Distribute");
                TransformTools.DistributeYScale(distributeStartBounds.localScale.y, distributeEndBounds.localScale.y, Selection.transforms);
            }
            if (GUILayout.Button("Z", GUILayout.Width(40), GUILayout.Height(16)))
            {
                if (!ValidateDistributeSelection())
                {
                    return;
                }

                Undo.RecordObjects(Selection.transforms, "Transform Distribute");
                TransformTools.DistributeZScale(distributeStartBounds.localScale.z, distributeEndBounds.localScale.z, Selection.transforms);
            }

            EditorGUILayout.EndHorizontal();

            EditorGUI.EndDisabledGroup();
        }