Пример #1
0
    public void OnDrag(PointerEventData eventData)
    {
        if (!m_ChangeWidth && !m_ChangeHeight)
        {
            return;
        }

        float xSign = 1.0f;

        if (m_ChangePositionWithWidth)
        {
            xSign = -1.0f;
        }

        float ySign = 1.0f;

        if (m_ChangePositionWithHeight)
        {
            ySign = -1.0f;
        }

        Vector2 addedSize = new Vector2();

        if (m_ChangeWidth)
        {
            addedSize.x = eventData.delta.x * xSign;
        }
        if (m_ChangeHeight)
        {
            addedSize.y = eventData.delta.y * ySign;
        }

        Vector2 usedValues = m_PictureFrame.AddSize(addedSize);

        //Change position (that comes with changing the width)
        if (m_ChangePositionWithWidth || m_ChangePositionWithHeight)
        {
            Vector2 addedPosition = new Vector2();

            if (m_ChangePositionWithWidth && m_ChangeWidth)
            {
                addedPosition.x = -usedValues.x;
            }
            if (m_ChangePositionWithHeight && m_ChangeHeight)
            {
                addedPosition.y = -usedValues.y;
            }

            m_PictureFrame.AddPosition(addedPosition);
        }
    }