void transitionToNextLevel() { LevelTransition.getInstance().setManager(this); LevelTransition.getInstance().startTransition(); grow.Play(); this.monster.setCurrentFood(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; } } }
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); }