Пример #1
0
        void SetSpaceAndType()
        {
            if (Input.GetKeyDown(SetMoveType))
            {
                type = TransformType.Move;
            }
            else if (Input.GetKeyDown(SetRotateType))
            {
                type = TransformType.Rotate;
            }
            else if (Input.GetKeyDown(SetScaleType))
            {
                type = TransformType.Scale;
            }

            if (Input.GetKeyDown(SetPivotModeToggle))
            {
                if (pivot == TransformPivot.Pivot)
                {
                    pivot = TransformPivot.Center;
                }
                else if (pivot == TransformPivot.Center)
                {
                    pivot = TransformPivot.Pivot;
                }
                SetTargetPivot();
            }

            if (Input.GetKeyDown(SetSpaceToggle))
            {
                if (space == TransformSpace.Global)
                {
                    space = TransformSpace.Local;
                }
                else if (space == TransformSpace.Local)
                {
                    space = TransformSpace.Global;
                }
            }

            if (type == TransformType.Scale)
            {
                space = TransformSpace.Local;                                         //Only support local scale
            }
        }
        void SetSpaceAndType()
        {
            if (Input.GetKey(ActionKey))
            {
                return;
            }

            if (Input.GetKeyDown(SetMoveType))
            {
                type = TransformType.Move;
            }
            else if (Input.GetKeyDown(SetRotateType))
            {
                type = TransformType.Rotate;
            }
            else if (Input.GetKeyDown(SetScaleType))
            {
                type = TransformType.Scale;
            }

            if (Input.GetKeyDown(SetPivotModeToggle))
            {
                if (pivot == TransformPivot.Pivot)
                {
                    pivot = TransformPivot.Center;
                }
                else if (pivot == TransformPivot.Center)
                {
                    pivot = TransformPivot.Pivot;
                }

                SetPivotPoint();
            }

            if (Input.GetKeyDown(SetCenterTypeToggle))
            {
                if (centerType == CenterType.All)
                {
                    centerType = CenterType.Solo;
                }
                else if (centerType == CenterType.Solo)
                {
                    centerType = CenterType.All;
                }

                SetPivotPoint();
            }

            if (Input.GetKeyDown(SetSpaceToggle))
            {
                if (space == TransformSpace.Global)
                {
                    space = TransformSpace.Local;
                }
                else if (space == TransformSpace.Local)
                {
                    space = TransformSpace.Global;
                }
            }

            if (Input.GetKeyDown(SetScaleTypeToggle))
            {
                if (scaleType == ScaleType.FromPoint)
                {
                    scaleType = ScaleType.FromPointOffset;
                }
                else if (scaleType == ScaleType.FromPointOffset)
                {
                    scaleType = ScaleType.FromPoint;
                }
            }

            if (type == TransformType.Scale)
            {
                space = TransformSpace.Local;                 //Only support local scale
                if (pivot == TransformPivot.Pivot)
                {
                    scaleType = ScaleType.FromPoint;                                               //FromPointOffset can be inaccurate and should only really be used in Center mode if desired.
                }
            }
        }