Пример #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);
 }
Пример #2
0
 public void OnTweenStart()
 {
     m_Start = new RectTransformState(m_Transform);
     if ((m_Properties & RectTransformProperties.Rotation) != 0)
     {
         EulerStorage.AddTransform(m_Transform);
         m_RecordID = m_Transform.GetInstanceID();
     }
 }
Пример #3
0
        /// <summary>
        /// Interpolates betwen two RectTransformStates.
        /// </summary>
        static public void Lerp(ref RectTransformState outNewState, RectTransformState inStateA, RectTransformState inStateB, float inPercent)
        {
            outNewState.m_AnchoredPos = Vector3.LerpUnclamped(inStateA.m_AnchoredPos, inStateB.m_AnchoredPos, inPercent);
            outNewState.m_Anchors     = Vector4.LerpUnclamped(inStateA.m_Anchors, inStateB.m_Anchors, inPercent);
            outNewState.m_SizeDelta   = Vector2.LerpUnclamped(inStateA.m_SizeDelta, inStateB.m_SizeDelta, inPercent);
            outNewState.m_Pivot       = Vector2.LerpUnclamped(inStateA.m_Pivot, inStateB.m_Pivot, inPercent);

            outNewState.m_Scale    = Vector3.LerpUnclamped(inStateA.m_Scale, inStateB.m_Scale, inPercent);
            outNewState.m_Rotation = Quaternion.SlerpUnclamped(inStateA.Rotation, inStateB.Rotation, inPercent).eulerAngles;
        }
Пример #4
0
        /// <summary>
        /// Interpolates betwen two RectTransformStates.
        /// </summary>
        static public RectTransformState Lerp(RectTransformState inStateA, RectTransformState inStateB, float inPercent)
        {
            RectTransformState newState = new RectTransformState();

            newState.m_AnchoredPos = Vector3.LerpUnclamped(inStateA.m_AnchoredPos, inStateB.m_AnchoredPos, inPercent);
            newState.m_Anchors     = Vector4.LerpUnclamped(inStateA.m_Anchors, inStateB.m_Anchors, inPercent);
            newState.m_SizeDelta   = Vector2.LerpUnclamped(inStateA.m_SizeDelta, inStateB.m_SizeDelta, inPercent);
            newState.m_Pivot       = Vector2.LerpUnclamped(inStateA.m_Pivot, inStateB.m_Pivot, inPercent);

            newState.m_Scale    = Vector3.LerpUnclamped(inStateA.m_Scale, inStateB.m_Scale, inPercent);
            newState.m_Rotation = Quaternion.SlerpUnclamped(inStateA.Rotation, inStateB.Rotation, inPercent).eulerAngles;
            return(newState);
        }
Пример #5
0
 /// <summary>
 /// Transforms the RectTransform to another RectTransform over time.
 /// </summary>
 static public Tween RectTransformTo(this RectTransform inTransform, RectTransformState inTarget, TweenSettings inSettings, RectTransformProperties inProperties = RectTransformProperties.All)
 {
     return(Tween.Create(new TweenData_RectTransform_RectTransformState(inTransform, inTarget, inProperties), inSettings));
 }
Пример #6
0
 public void ApplyTween(float inPercent)
 {
     m_End.Refresh(m_Target, m_Properties);
     RectTransformState.Lerp(ref m_Current, m_Start, m_End, inPercent);
     m_Current.Apply(m_Transform, m_Properties);
 }
Пример #7
0
 public TweenData_RectTransform_RectTransformState(RectTransform inTransform, RectTransformState inTarget, RectTransformProperties inProperties)
 {
     m_Transform  = inTransform;
     m_Target     = inTarget;
     m_Properties = inProperties;
 }