private void OnCollisionEnter(Collision collision) //Verifica em quem está batendo { if (collision.gameObject.tag.Equals("Player")) //Se for player ele tira vida { collision.gameObject.GetComponent <Vida_Player>().danoPlayer(100); // Aplica o dano Debug.Log("Atingiu"); Destroy(this.gameObject); float fireRate = Boss.GetComponent <Tiro_Boss>().getfireRate(); // Adquire o valor atual de fireRate if (fireRate - 0.15f >= 0.4f) // Caso a redução leve a um valor igual ou superior ao fireRate mínimo { Boss.GetComponent <Tiro_Boss>().setfireRate(fireRate - 0.15f); // Diminui o Fire Rate } else { Boss.GetComponent <Tiro_Boss>().setfireRate(0.4f);// Caso seja inferior, reduz apenas ao valor mínimo } } else { if (Boss != null) { float Add; Tiro_Boss Tiro = Boss.GetComponent <Tiro_Boss>(); Add = Tiro.getfireRate(); // Adquire o valor do fireRate Tiro.GetComponent <Tiro_Boss>().setfireRate(Add + 0.05f); // Incrementa em 0.05 } Destroy(this.gameObject); } }
// Update is called once per frame void Update() { Tempo -= Time.deltaTime; // Descendo o contador Debug.Log(Tempo); if (Tempo <= 0) // Ativou a mecânica { if (Contador + 1 <= Index_Mechanics.Length) { Mechanics[Index_Mechanics[Contador]](Module[Contador]);// Passa o padrão para a mecânica Contador += 1; switch (Contador) { case 5: mascara_Script.ChooseMask(3); Tiro_Boss.setTiro("Tiro Agua"); Tiro_Boss.setSpray_Tiro("Spray_Tiro Agua"); break; case 7: mascara_Script.ChooseMask(2); Tiro_Boss.setTiro("Tiro Raio"); Tiro_Boss.setSpray_Tiro("Spray_Tiro Raio"); break; case 12: mascara_Script.ChooseMask(1); Tiro_Boss.setTiro("Tiro"); Tiro_Boss.setSpray_Tiro("Spray_Tiro"); break; } } else { Contador = 0;// Próxima mecânica e padrão //Debug.Log("Condição else"); } Debug.Log(Contador); } if (Tiro_Boss.getfireRate() >= 1f) // Caso o rate de tiro seja maior ou igual a 1 { Tiro_Boss.setPattern("Sprayed_Shots"); // Ativa o Tiro em Spray } }