Esempio n. 1
0
    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());
        }
    }
Esempio n. 2
0
    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;
        }
    }