Beispiel #1
0
    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);
        }
    }
Beispiel #2
0
    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);
        }
    }
Beispiel #3
0
    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();
         }
     }
 }