예제 #1
0
 // 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);
             }
         }
     }
 }
예제 #2
0
 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();
     }
 }