void AtivaIma() { if (imaContador > 1) { imaContador = 0; } Ima imaPonta = imaPonta = Imas[imaContador].GetComponentInChildren <Ima>(); CharacterController jogadorCC = Jogador.GetComponent <CharacterController>(); imaVida = Imas[imaContador].GetComponent <Vida>(); imaPonta.enabled = true; if (imaVida.vida == 0) { if (jogadorCC.enabled == true) { imaPonta.enabled = false; imaContador++; } imaVida.AtualizaVida(imaVida.maxVida); TrocaEstado(Estados.SPAWNINIMIGO); } }
void RayCastArma() { // Vector2 posicaoMira = new Vector2(Screen.width/2 , Screen.height / 2); Ray alvo = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitalvo; Debug.DrawRay(alvo.origin, alvo.direction * alcance); Vida vidaAlvo = null; if (Physics.Raycast(alvo, out hitalvo, alcance)) { vidaAlvo = hitalvo.transform.GetComponent <Vida>(); if (vidaAlvo != null && vidaAlvo.vida > 0 && player.bateria > 0) { vidaAlvo.AtualizaVida(poderDeFogo); } } if (player.bateria > 0) { // GameObject copiaTiro = Instantiate(tiro, tiroCordenada.position, tiroCordenada.rotation); //copiaTiro.GetComponent<Rigidbody>().AddForce(tiroCordenada.forward * 500f); GameObject copiaTiro = GameObject.Instantiate(tiro, tiroCordenada.position, tiroCordenada.rotation) as GameObject; copiaTiro.GetComponent <TiroBehavior>().setTarget(hitalvo.point); player.Bateria(consumoBateria); GameObject.Destroy(copiaTiro, 1); } }
IEnumerator Checkpoint() { if (!executando) { executando = true; GetComponent<CharacterController>().enabled = false; yield return new WaitForSeconds(1); transform.position = posicao; transform.rotation = rot; vida.AtualizaVida(vida.maxVida); GetComponent<CharacterController>().enabled = true; executando = false; } }
//Aqui decidimos o que o objeto faz de acordo com sua tag public void Acao() { // caso o objeto seja um coletável de arma ele ativa essa arma que já está no jogador mas não estava disponível if (gameObject.tag == "WeaponStation") { //aqui é o bool que verifica se a arma está no inventário, assim que coletada ela se torna verdadeiro no inventário armaPrefab.GetComponent <Arma>().armaNoInventario = true; //Ativa o prefab //armaPrefab.SetActive(true); //E destroi o objeto Destroy(gameObject); } if (gameObject.tag == "RecuperaVida") { if (!itemEspecial) { vidaRecupera.AtualizaVida(recuperaVida); } else if (itemEspecial) { vidaRecupera.AtualizaVida(vidaRecupera.maxVida); vidaRecupera.maxVida += aumentaVida; } Destroy(gameObject); } if (gameObject.tag == "RecuperaBateria") { if (!itemEspecial) { jogadorInt.Bateria(recuperaBateria); } else if (itemEspecial) { jogadorInt.Bateria(jogadorInt.maxBateria); jogadorInt.maxBateria += aumentaBateria; } Destroy(gameObject); } if (gameObject.tag == "CartaoAcesso") { jogadorInt.cartaoCor.a = 1f; jogadorInt.temCartaoacesso = true; Destroy(gameObject); } if (gameObject.tag == "Portao") { DanoContinuo dano = GetComponent <DanoContinuo>(); if (!dano.trancado) { dano.interpolacao = true; } } if (gameObject.tag == "AcessCard") { if (jogadorInt.temCartaoacesso) { jogadorInt.temCartaoacesso = false; gameObject.GetComponent <Tranca>().Cartao(); } } }