public void ZoomOut() { if (!IsZoomed || !IsZoomInPlace) { return; } IsZoomed = false; IsZoomInPlace = false; GameController.Instance.Unpause(); foreach (GameObject cardGameObject in cardGameObjects) { LerpInformation <Vector3> positionLerpInformation = new LerpInformation <Vector3>( cardGameObject.transform.position, positionsBeforeZoom[cardGameObject], ZoomLerpDuration, Vector3.Lerp); zoomMovementLerpInformations[cardGameObject] = positionLerpInformation; LerpInformation <Quaternion> rotationLerpInformation = new LerpInformation <Quaternion>( cardGameObject.transform.rotation, rotationsBeforeZoom[cardGameObject], ZoomLerpDuration, Quaternion.Lerp); zoomRotationLerpInformations[cardGameObject] = rotationLerpInformation; } zoomScaleLperInformation = new LerpInformation <Vector3>(transform.localScale, new Vector3(0.5f, 0.5f, 1), ZoomLerpDuration, Vector3.Lerp); ZoomedOut?.Invoke(this, new CardStackEventArgs(this)); }
void ChangeButtonStatesAfterAnimationCompleted() { if (currentTransitionType == TransitionType.Forward || currentTransitionType == TransitionType.Backward || currentTransitionType == TransitionType.Inward) { DefaultState?.Invoke(); } else if (currentTransitionType == TransitionType.Outward) { ZoomedOut?.Invoke(); } }
void FinishTransitioning() { transitioning = false; focused = !focused; lerpPct = 0; if (focused) { ZoomedIn?.Invoke(); } else { ZoomedOut?.Invoke(); } }