private TouchAnimationPresetSnapshot LerpAnimationSnapshotInformation(TouchAnimationPresetSnapshot target, TouchAnimationInformation to, float t) { target.color = Color.Lerp(target.color, to.transitionColor, t); target.texture = to.changeToTexture; target.size = Mathf.Lerp(target.size, to.changeToSize, t); return target; }
public void UpdateAnimationSnapshots(bool isLatched, ref TouchAnimationPresetSnapshot baseSnapshot, ref TouchAnimationPresetSnapshot topSnapshot) { if (isLatched) { switch (latchedAnimationBase.transitionMethod) { case TouchAnimationInformation.TransitionMethod.Snap: baseSnapshot = LerpAnimationSnapshotInformation(baseSnapshot, latchedAnimationBase, 1); break; case TouchAnimationInformation.TransitionMethod.Smooth: baseSnapshot = LerpAnimationSnapshotInformation(baseSnapshot, latchedAnimationBase, latchedAnimationBase.transitionMethodValue); break; } switch (latchedAnimationTop.transitionMethod) { case TouchAnimationInformation.TransitionMethod.Snap: topSnapshot = LerpAnimationSnapshotInformation(topSnapshot, latchedAnimationTop, 1); break; case TouchAnimationInformation.TransitionMethod.Smooth: topSnapshot = LerpAnimationSnapshotInformation(topSnapshot, latchedAnimationTop, latchedAnimationTop.transitionMethodValue); break; } } else { switch (unlatchedAnimationBase.transitionMethod) { case TouchAnimationInformation.TransitionMethod.Snap: baseSnapshot = LerpAnimationSnapshotInformation(baseSnapshot, unlatchedAnimationBase, 1); break; case TouchAnimationInformation.TransitionMethod.Smooth: baseSnapshot = LerpAnimationSnapshotInformation(baseSnapshot, unlatchedAnimationBase, unlatchedAnimationBase.transitionMethodValue); break; } switch (unlatchedAnimationTop.transitionMethod) { case TouchAnimationInformation.TransitionMethod.Snap: topSnapshot = LerpAnimationSnapshotInformation(topSnapshot, unlatchedAnimationTop, 1); break; case TouchAnimationInformation.TransitionMethod.Smooth: topSnapshot = LerpAnimationSnapshotInformation(topSnapshot, unlatchedAnimationTop, unlatchedAnimationTop.transitionMethodValue); break; } } }