Exemplo n.º 1
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();
     }
 }