void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Head")
        {
            GameObject  gameController = GameObject.Find("GameController");
            PlayerScore score          = gameController.GetComponent <PlayerScore>();
            int         tmpMultiplier  = score.getMuliplier();

            Destroy(this.gameObject);

            other.rigidbody2D.velocity     = Vector3.zero;
            other.rigidbody2D.gravityScale = 0.0f;

            Head head = other.GetComponent <Head>();
            head.controlLock = true;
            head.destroyAllSegments();

            Animator anim = other.gameObject.GetComponent <Animator>();
            anim.SetBool("ReachedEndOfLevel", true);

            Camera.main.orthographicSize = 3.0f;
            smooth2Dfollow sm2Df = Camera.main.GetComponent <smooth2Dfollow>();
            sm2Df.targetPosOnScreenX = 0.5f;
            sm2Df.targetPosOnScreenY = 0.5f;

            score.setMultiplier(tmpMultiplier);
        }
    }
Example #2
0
    public virtual void respawn()
    {
        playerScore.addDeath();

        GameObject newPlayer = (GameObject)Instantiate(respawnable);

        newPlayer.transform.position = this.transform.position;
        newPlayer.layer = LayerMask.NameToLayer("Head");

        smooth2Dfollow sm2df = Camera.main.GetComponent <smooth2Dfollow>();

        sm2df.target = newPlayer.transform;

        scrolltriggerscript scrolltrigger = newPlayer.GetComponent <scrolltriggerscript>();

        scrolltrigger.cam              = Camera.main;
        scrolltrigger.playerFollower   = sm2df;
        scrolltrigger.backgroundLevels = backgroundLevels;

        Head newHead = newPlayer.GetComponent <Head>();

        newHead.successor = null;
        newHead.mask      = mask;
        newHead.newSeg    = Resources.Load <GameObject>("Segment");
        newHead.grounded  = true;

        for (int i = 0; i < 5; i++)
        {
            newHead.growNewSegment();
        }

        playerScore.head = newHead;
    }
    void OnTriggerExit2D(Collider2D other)
    {
        if (other.tag == "Head")
        {
            smooth2Dfollow sm2df = Camera.main.GetComponent <smooth2Dfollow>();

            sm2df.targetPosOnScreenX = this.ExitCaterpillarCamPosX;
            sm2df.targetPosOnScreenY = this.ExitCaterpillarCamPosY;
        }
    }