Exemplo n.º 1
0
        public Vector2 ToolCoordToPosition(ToolCoord coord, Bounds bounds)
        {
            switch (coord)
            {
            case ToolCoord.BottomLeft:
                return(bounds.min);

            case ToolCoord.Bottom:
                return(new Vector2(bounds.center.x, bounds.min.y));

            case ToolCoord.BottomRight:
                return(new Vector2(bounds.max.x, bounds.min.y));

            case ToolCoord.Left:
                return(new Vector2(bounds.min.x, bounds.center.y));

            case ToolCoord.Center:
                return(bounds.center);

            case ToolCoord.Right:
                return(new Vector2(bounds.max.x, bounds.center.y));

            case ToolCoord.TopLeft:
                return(new Vector2(bounds.min.x, bounds.max.y));

            case ToolCoord.Top:
                return(new Vector2(bounds.center.x, bounds.max.y));

            case ToolCoord.TopRight:
                return(bounds.max);
            }

            return(Vector2.zero);
        }
        private void OnStartScale(ToolCoord pivotCoord, ToolCoord pickedCoord, Vector2 mousePos, bool rippleTime)
        {
            Bounds bounds = selectionBounds;

            m_IsDragging      = true;
            m_Pivot           = ToolCoordToPosition(pivotCoord, bounds);
            m_Previous        = ToolCoordToPosition(pickedCoord, bounds);
            m_MouseOffset     = mousePos - m_Previous;
            m_RippleTime      = rippleTime;
            m_RippleTimeStart = bounds.min.x;
            m_RippleTimeEnd   = bounds.max.x;

            m_State.StartLiveEdit();
        }
Exemplo n.º 3
0
        public Vector2 ToolCoordToPosition(ToolCoord coord, Bounds bounds)
        {
            switch (coord)
            {
                case ToolCoord.BottomLeft:
                    return bounds.min;

                case ToolCoord.Bottom:
                    return new Vector2(bounds.center.x, bounds.min.y);

                case ToolCoord.BottomRight:
                    return new Vector2(bounds.max.x, bounds.min.y);

                case ToolCoord.Left:
                    return new Vector2(bounds.min.x, bounds.center.y);

                case ToolCoord.Center:
                    return bounds.center;

                case ToolCoord.Right:
                    return new Vector2(bounds.max.x, bounds.center.y);

                case ToolCoord.TopLeft:
                    return new Vector2(bounds.min.x, bounds.max.y);

                case ToolCoord.Top:
                    return new Vector2(bounds.center.x, bounds.max.y);

                case ToolCoord.TopRight:
                    return bounds.max;
            }
            return Vector2.zero;
        }