public TweenData_RectTransform_Transform(RectTransform inTransform, RectTransform inTarget, RectTransformProperties inProperties) { m_Transform = inTransform; m_Target = inTarget; m_Properties = inProperties; m_End = new RectTransformState(inTarget); }
public void OnTweenStart() { m_Start = new RectTransformState(m_Transform); if ((m_Properties & RectTransformProperties.Rotation) != 0) { EulerStorage.AddTransform(m_Transform); m_RecordID = m_Transform.GetInstanceID(); } }
/// <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; }
/// <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); }
/// <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)); }
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); }
public TweenData_RectTransform_RectTransformState(RectTransform inTransform, RectTransformState inTarget, RectTransformProperties inProperties) { m_Transform = inTransform; m_Target = inTarget; m_Properties = inProperties; }