Ejemplo n.º 1
0
 public TweenData_RectTransform_Transform(RectTransform inTransform, RectTransform inTarget, RectTransformProperties inProperties)
 {
     m_Transform  = inTransform;
     m_Target     = inTarget;
     m_Properties = inProperties;
     m_End        = new RectTransformState(inTarget);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Refreshes the values from the given RectTransform.
        /// </summary>
        public void Refresh(RectTransform inTransform, RectTransformProperties inProperties = RectTransformProperties.All)
        {
            if ((inProperties & RectTransformProperties.Scale) != 0)
            {
                m_Scale = inTransform.localScale;
            }

            if ((inProperties & RectTransformProperties.AnchoredPosition) != 0)
            {
                m_AnchoredPos = inTransform.anchoredPosition3D;
            }

            if ((inProperties & RectTransformProperties.Rotation) != 0)
            {
                m_Rotation = GetRotation(inTransform);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Applies a RectTransformState to the given RectTransform.
        /// </summary>
        public void Apply(RectTransform inTransform, RectTransformProperties inProperties = RectTransformProperties.All)
        {
            if ((inProperties & RectTransformProperties.AnchoredPosition) != 0)
            {
                inTransform.SetAnchorPos(m_AnchoredPos, inProperties.ToAnchoredPositionAxis());
            }

            if ((inProperties & RectTransformProperties.SizeDelta) != 0)
            {
                inTransform.SetSizeDelta(m_SizeDelta, inProperties.ToSizeDeltaAxis());
            }

            if ((inProperties & RectTransformProperties.Scale) != 0)
            {
                inTransform.SetScale(m_Scale, inProperties.ToScaleAxis());
            }

            if ((inProperties & RectTransformProperties.Rotation) != 0)
            {
                inTransform.SetRotation(m_Rotation, inProperties.ToRotationAxis(), Space.Self);
            }

            if ((inProperties & RectTransformProperties.Pivot) != 0)
            {
                Vector2 pivot = inTransform.pivot;
                if ((inProperties & RectTransformProperties.PivotX) != 0)
                {
                    pivot.x = m_Pivot.x;
                }
                if ((inProperties & RectTransformProperties.PivotY) != 0)
                {
                    pivot.y = m_Pivot.y;
                }
                inTransform.pivot = pivot;
            }

            if ((inProperties & RectTransformProperties.Anchors) != 0)
            {
                Vector2 minAnchors = inTransform.anchorMin;
                Vector2 maxAnchors = inTransform.anchorMax;

                if ((inProperties & RectTransformProperties.AnchorMinX) != 0)
                {
                    minAnchors.x = m_Anchors.x;
                }
                if ((inProperties & RectTransformProperties.AnchorMinY) != 0)
                {
                    minAnchors.y = m_Anchors.y;
                }

                if ((inProperties & RectTransformProperties.AnchorMaxX) != 0)
                {
                    maxAnchors.x = m_Anchors.z;
                }
                if ((inProperties & RectTransformProperties.AnchorMaxY) != 0)
                {
                    maxAnchors.y = m_Anchors.w;
                }

                inTransform.anchorMin = minAnchors;
                inTransform.anchorMax = maxAnchors;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Converts the RectTransformProperties to an equivalent
        /// Axis value for rotations.
        /// </summary>
        static public Axis ToRotationAxis(this RectTransformProperties inProperties)
        {
            uint axisValue = ((uint)inProperties >> 14) & 0x07;

            return((Axis)axisValue);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Converts the RectTransformProperties to an equivalent
        /// Axis value for size delta.
        /// </summary>
        static public Axis ToSizeDeltaAxis(this RectTransformProperties inProperties)
        {
            uint axisValue = ((uint)inProperties >> 9) & 0x03;

            return((Axis)axisValue);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Converts the RectTransformProperties to an equivalent
        /// Axis value for anchored positions.
        /// </summary>
        static public Axis ToAnchoredPositionAxis(this RectTransformProperties inProperties)
        {
            uint axisValue = (uint)inProperties & 0x07;

            return((Axis)axisValue);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Transforms the RectTransform to another RectTransform over time.
 /// </summary>
 static public Tween RectTransformTo(this RectTransform inTransform, RectTransform inTarget, TweenSettings inSettings, RectTransformProperties inProperties = RectTransformProperties.All)
 {
     return(Tween.Create(new TweenData_RectTransform_Transform(inTransform, inTarget, inProperties), inSettings));
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Transforms the RectTransform to another RectTransform over time.
 /// </summary>
 static public Tween RectTransformTo(this RectTransform inTransform, RectTransformState inTarget, float inTime, RectTransformProperties inProperties = RectTransformProperties.All)
 {
     return(Tween.Create(new TweenData_RectTransform_RectTransformState(inTransform, inTarget, inProperties), inTime));
 }
Ejemplo n.º 9
0
 public TweenData_RectTransform_RectTransformState(RectTransform inTransform, RectTransformState inTarget, RectTransformProperties inProperties)
 {
     m_Transform  = inTransform;
     m_Target     = inTarget;
     m_Properties = inProperties;
 }