// Update is called once per frame void Update() { if (Input.GetButtonDown("Cancel") && died != false) { script1.DeleteMob(); script1.EndBegin(); script2.DeleteSpawner(); script2.EndBegin(); script3.DeleteHuman(); script3.EndBegin(); script4.DeleteBrains(); script4.EndBegin(); script5.DeletePlayer(); script5.EndBegin(); script6.EndBegin(); Menu1.gameObject.SetActive(true); Menu2.gameObject.SetActive(false); Menu3.gameObject.SetActive(false); Init(1); } if (died) { script5.pauseText.gameObject.SetActive(false); script5.playText.gameObject.SetActive(false); script5.pauseText2.gameObject.SetActive(false); script5.pausemenu.gameObject.SetActive(false); script5.pause.onClick.RemoveAllListeners(); if (script5.GetScore() > hiscore) { hiscore = script5.GetScore(); score.SetScore(hiscore); SubmitScore(hiscore); } timer1 += Time.deltaTime; if (timer1 > 2 && scale > 15) { timer2 += Time.deltaTime; scale = scale - timer2 * 2; GameOverImage1.rectTransform.localScale = new Vector3(1, 1, 1) * scale; } else if (scale < 15) { if (GameOverImage2.fillAmount < 1) { timer3 += Time.deltaTime; GameOverImage2.fillAmount += timer3 * 0.5f; } if (GameOverImage2.fillAmount == 1) { Menu3.gameObject.SetActive(true); died = false; Time.timeScale = 1; script5.pause.onClick.RemoveAllListeners(); script1.DeleteMob(); script1.EndBegin(); script2.DeleteSpawner(); script2.EndBegin(); script3.DeleteHuman(); script3.EndBegin(); script4.DeleteBrains(); script4.EndBegin(); script5.EndBegin(); script5.DeletePlayer(); script6.EndBegin(); Menu1.gameObject.SetActive(false); Menu2.gameObject.SetActive(false); Menu3.gameObject.SetActive(true); Init(3); } } } }
private void OnControllerColliderHit(ControllerColliderHit hit) { if (hit.gameObject.tag == "Human") { humandeathsource.Play(); ha.DeleteHuman(); ha.NewHuman(); ms.addScore(20); mobscript.GainSpeed(2); } else if (hit.gameObject.tag == "Mob") { mobsource.Stop(); zombiedeathsource.Play(); Destroy(mobscript.GetComponent <Collider>()); anim.SetBool("dead", true); ms.SetDead(true); gs.ControlDeath(true); } else if (hit.point.z > transform.position.z + control.radius && hit.gameObject.tag == "Obstacle") { hit.gameObject.SetActive(false); if (ms.GetDistanceBetween() < 5) { ms.SubtractSpeed(0.01f); } else { ms.SubtractSpeed(0.7f); } if (ms.GetScore() > 0) { ms.subtractScore(5); } else if (ms.GetScore() > 100) { ms.subtractScore(10); } if (ms.GetHearts() == 3) { hitsource.Play(); ms.SetHeartActive(2, false); } else if (ms.GetHearts() == 2) { hitsource.Play(); anim.SetBool("damaged", false); ms.SetHeartActive(2, false); ms.SetHeartActive(1, false); } else if (ms.GetHearts() == 1) { hitsource.Play(); anim.SetBool("damaged", true); ms.SetHeartActive(2, false); ms.SetHeartActive(1, false); ms.SetHeartActive(0, false); } else if (ms.GetHearts() == 0) { mobsource.Stop(); zombiedeathsource.Play(); anim.SetBool("dead", true); ms.SetDead(true); gs.ControlDeath(true); } ms.RemoveHeart(); } }