Exemplo n.º 1
0
    private void Atira(Inimigo inimigo)
    {
        float tempoAtual = Time.time;

        if (tempoAtual > momentoDoUltimoDisparo + tempoDeRecarga)
        {
            momentoDoUltimoDisparo = tempoAtual;
            GameObject pontoDeDisparo          = this.transform.Find("CanhaoDaTorre/PontoDeDisparo").gameObject;
            Vector3    posicaoDoPontoDeDisparo = pontoDeDisparo.transform.position;
            //Instantiate(projetilPrefab, posicaoDoPontoDeDisparo, Quaternion.identity);
            GameObject projetilObject = (GameObject)Instantiate(projetilPrefab, posicaoDoPontoDeDisparo, Quaternion.identity);
            Missil     missil         = projetilObject.GetComponent <Missil>();
            missil.DefineAlvo(inimigo);
        }
    }
Exemplo n.º 2
0
    // Instancia um míssil para ser disparado e passa informações sobre qual inimigo ele deverá seguir:
    private void Atira(Inimigo inimigo)
    {
        float tempoAtual = Time.time;

        if (tempoAtual > tempoUltimoDisparo + tempoRecarga)
        {
            tempoUltimoDisparo = tempoAtual;
            GameObject pontoDeDisparo = this.transform.Find("PontoDeDisparo").gameObject;
            Vector3    posicaoDisparo = pontoDeDisparo.transform.position;
            GameObject projetilObject = (GameObject)Instantiate(projetilPrefab, posicaoDisparo, Quaternion.identity);

            // Passa para o míssil o inimigo que ele deverá seguir:
            Missil missil = projetilObject.GetComponent <Missil> ();
            missil.DefineAlvo(inimigo);
        }
    }
Exemplo n.º 3
0
    private void Dispara()
    {
        GameObject alvo = EscolheAlvo();

        if (alvo)
        {
            float tempoAtual = Time.time;
            if (tempoAtual > tempoUltimoDisparo + tempoDeRecarga)
            {
                tempoUltimoDisparo = tempoAtual;
                //pega o game object responsável pela posição do ponto de disparo dentro do canhao
                GameObject pontoDeDisparo = this.transform.Find("canhaoDaTorre/pontoDeDisparo").gameObject;
                //pega a posicao do gameobject
                Vector3 posicaoPontoDeDisparo = pontoDeDisparo.transform.position;
                //instancia o missel (prefab) na posicao do gameObject
                GameObject missilPrefab = Instantiate(projetilPrefab, posicaoPontoDeDisparo, Quaternion.identity);
                Missil     missil       = missilPrefab.GetComponent <Missil> ();
                missil.DefineAlvo(alvo);
            }
        }
    }