Example #1
0
    void transitionToNextLevel()
    {
        LevelTransition.getInstance().setManager(this);
        LevelTransition.getInstance().startTransition();
        grow.Play();

        this.monster.setCurrentFood(0);
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (LevelTransition.getInstance().getTransitioning())
        {
            return;
        }


        Vector3 direction = getDirectionVector();

        velocity += (velocity + direction) / ROTATION_FACTOR;

        if (velocity.magnitude > MAX_SPEED)
        {
            velocity.Normalize();
            velocity *= MAX_SPEED;
        }

        enemy.transform.rotation = Quaternion.FromToRotation(new Vector3(0, 0, 0), velocity);
        enemy.transform.Translate(MAX_SPEED * Time.deltaTime * velocity);
        enemy.transform.rotation = Quaternion.FromToRotation(new Vector3(1, 0, 0), velocity);
        enemy.transform.Rotate(new Vector3(0, 0, -90));

        if (killed)
        {
            if (killDelay > 0)
            {
                killDelay -= Time.deltaTime;
            }
            else
            {
                if (gameOverStart)
                {
                    if (gameOverDelay > 0)
                    {
                        gameOverDelay -= Time.deltaTime;
                    }
                    else
                    {
                        monster.kill();
                        Music.togglePause();
                    }
                }
                else
                {
                    Instantiate(gameOver).Play();
                }

                gameOverStart = true;
            }
        }
    }
Example #3
0
    void Update()
    {
        if (LevelTransition.getInstance().getTransitioning())
        {
            this.transform.localScale = this.transform.localScale * 0.98f;
            if (this.transform.localScale.x < 0.66)
            {
                this.transform.localScale = monsterBaseScale;
            }

            transform.Rotate(Vector3.forward, -1080 * Time.deltaTime);
            secondsOfSpinning += Time.deltaTime;

            if (firstTransitionTick)
            {
                Instantiate(transitionEffect, this.transform.position, Quaternion.identity);
            }

            firstTransitionTick = false;

            if (secondsOfSpinning > 3)
            {
                LevelTransition.getInstance().endTransition();
                secondsOfSpinning   = 0;
                firstTransitionTick = true;
            }
            return;
        }

        gameObject.SetActive(monster.isVisible());



        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical   = Input.GetAxis("Vertical");

        /*Vector3 dir = (Vector3.right * moveHorizontal * speed * Time.deltaTime) +
         *      (Vector3.up * moveVertical * speed * Time.deltaTime); */

        //Vector3 target = dir + this.transform.position;

        Rigidbody2D body = (Rigidbody2D)(this.GetComponent(typeof(Rigidbody2D)));

        if (moveHorizontal > 0)
        {
            transform.Rotate(Vector3.forward, -rotationDegreesPerSecond * Time.deltaTime * moveHorizontal);
        }
        else if (moveHorizontal < 0)
        {
            transform.Rotate(Vector3.forward, rotationDegreesPerSecond * Time.deltaTime * (-moveHorizontal));
        }

        //if (moveVertical > 0) {

        this.transform.Translate(Vector3.up * speed * Time.deltaTime);
        cam.transform.position = new Vector3(this.transform.position.x,
                                             this.transform.position.y,
                                             cam.transform.position.z);

        //}

        monster.setPosition(this.transform.position);

        this.transform.localScale = monsterBaseScale * (1 + (0.5f * monster.getCurrentFood() / LevelManager.CURRENT.getRequiredTransitionFood()));
        //Movement

        /*transform.Translate (Vector3.right * moveHorizontal * speed * Time.deltaTime);
         * transform.Translate (Vector3.up * moveVertical * speed * Time.deltaTime);*/
        foodCount.text = "Food: " + monster.getTotalFood();
        playTime      += Time.deltaTime;
        int minutes = (int)(playTime / 60);
        int seconds = (int)(playTime - (60 * minutes));

        time.text = "Survival time: " + string.Format(
            generateNumberFormat(minutes, 0) + ":" + generateNumberFormat(seconds, 1),
            minutes, seconds);
    }