//Slide mid game information into place IEnumerator slideInFormation() { Vector3 startInfoPos = infoPanel.transform.localPosition; Vector3 endInfoPos = startInfoPos - new Vector3(0, Screen.height * 2, 0); Vector3 startButtonPos = buttons.transform.localPosition; Vector3 endButtonPos = startButtonPos + new Vector3(0, Screen.height, 0); float slideTime = 0; while (slideTime < 1) { slideTime += Time.deltaTime; infoPanel.transform.localPosition = Vector3.Lerp(startInfoPos, endInfoPos, slideTime); buttons.transform.localPosition = Vector3.Lerp(startButtonPos, endButtonPos, slideTime); yield return(new WaitForEndOfFrame()); } if (KeyDirectory.Timer.isTimerSpeedingUp()) { StartCoroutine(displaySpeedUp()); } else { GameDetails.setPaused(); } }
//When the game starts to speed up an animation will play IEnumerator displaySpeedUp() { float speed = Time.deltaTime * 2; RectTransform speedUpRect = speedUp.GetComponent <RectTransform>(); Image darkenerImage = GameObject.Find("Darkener").GetComponent <Image>(); //--------------------------Slide to center and Enlarge float slideTime = 0; while (slideTime < 1) { slideTime += speed; speedUpRect.anchorMin = new Vector2(Mathf.Lerp(0.67f, 0, slideTime), 0); speedUpRect.localScale = Vector3.Lerp(Vector3.one, Vector3.one * 2, slideTime); darkenerImage.color = new Color(0, 0, 0, Mathf.Lerp(0, 0.8f, slideTime)); yield return(new WaitForEndOfFrame()); } //---------------------------Slide in Text Vector3 startPos = speedText.transform.localPosition; Vector3 endPos = startPos + new Vector3(0, 100, 0); slideTime = 0; while (slideTime < 1) { slideTime += speed; speedText.transform.localPosition = Vector3.Lerp(startPos, endPos, slideTime); speedText.localScale = Vector3.Lerp(Vector3.one * 0.5f, Vector3.one, slideTime); yield return(new WaitForEndOfFrame()); } yield return(new WaitForSeconds(1.5f)); //--------------------------Slide to center and Enlarge slideTime = 0; while (slideTime < 1) { slideTime += speed; speedUpRect.anchorMin = new Vector2(Mathf.Lerp(0, 0.67f, slideTime), 0); speedUpRect.localScale = Vector3.Lerp(Vector3.one * 2, Vector3.one, slideTime); darkenerImage.color = new Color(0, 0, 0, Mathf.Lerp(0.8f, 0, slideTime)); yield return(new WaitForEndOfFrame()); } GameDetails.setPaused(); }