void Start() { cam = GetComponent <Camera>(); effects = GetComponent <VignetteAndChromaticAberration>(); ppAnimator = GetComponent <PostProcessingAnimator>(); title = GameObject.FindWithTag("Title").gameObject.GetComponent <SpriteRenderer>(); if (target == null) { //Debug.LogWarning("Camera has no target, gonna try to find an object tagged 'Player'"); target = GameObject.FindWithTag("Player").GetComponent <PlayerMovement>(); transform.position = new Vector3(target.transform.position.x, target.transform.position.y, transform.position.z); if (target == null) { Debug.LogError("No object tagged 'Player'"); } } if (GameObject.FindGameObjectWithTag("SaveSystem").GetComponent <SaveSystem>().PillarsDestroyed.Count > 0) { title.enabled = false; ppAnimator.FadeIn(); target.enabled = true; } else { target.enabled = false; StartCoroutine(TitleScreen()); } }
IEnumerator TitleScreen() { ppAnimator.FadeIn(); foreach (var l in target.GetComponentsInChildren <Light>()) { l.enabled = false; } target.enabled = false; transform.position = title.transform.position + Vector3.back; title.color = new Color(1, 1, 1, 0); yield return(new WaitForSeconds(preTitleTime)); var tt = 0.0f; while (tt < 1.0f) { title.color = new Color(1, 1, 1, titleCurve.Evaluate(tt)); yield return(null); tt += Time.deltaTime; } yield return(new WaitForSeconds(titleTime)); while (tt > 0.0f) { title.color = new Color(1, 1, 1, titleCurve.Evaluate(tt)); yield return(null); tt -= Time.deltaTime; } // Move Car while (Vector3.Distance(introCar.position, endPosition + Vector3.down) > 0.05f) { yield return(null); introCar.GetComponent <ShakeCar>().carOrigin = Vector3.Lerp(introCar.GetComponent <ShakeCar>().carOrigin, endPosition + Vector3.down, 0.03f); transform.position = introCar.GetComponent <ShakeCar>().carOrigin + Vector3.back * 10; } //ppAnimator.FadeIn(); introCar.position = endPosition + Vector3.down; introCar.GetComponent <ShakeCar>().enabled = false; var t = 2.0f; while (t > 0) { target.transform.position = Vector3.Lerp(endPosition, endPosition + Vector3.left * 2, exitCarCurve.Evaluate(1 - t / 2)); yield return(null); t -= Time.deltaTime; } target.enabled = true; foreach (var l in target.GetComponentsInChildren <Light>()) { l.enabled = true; } }