Esempio n. 1
0
    public void AfastaInimigoDeDano(Transform heroi)
    {
        GameObject[] inimigos = InimigoBase.InimigosPerto(distanciaMaxParaOAfastamento, heroi.position);

        foreach (GameObject I in inimigos)
        {
            AfastadorDeInimigoEmDano.InsereAfastamento(
                (Vector3.ProjectOnPlane(I.transform.position - heroi.position, Vector3.up)).normalized,
                distanciaDeAfastamento,
                tempoDeAfastamento,
                I
                );
        }
    }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        heroi        = GameObject.FindWithTag("Player");
        doMeuInimigo = GetComponent <InimigoBase>();
        //comecouPiscar = true;
        Renderer[] MR = GetComponentsInChildren <Renderer>();

        piscar             = new PiscarMaterial[MR.Length];
        materiaisPiscantes = new Material[MR.Length];
        for (int j = 0; j < MR.Length; j++)
        {
            materiaisPiscantes[j] = InserirMaterialParaPiscar(MR[j], materialPiscante);
            piscar[j]             = new PiscarMaterial();
        }

        InserirParticulaEstouQueimando();
    }
    void OnTriggerEnter2D(Collider2D c)
    {
        InimigoBase outroInimigo = c.GetComponent <InimigoBase>();

        if (c.gameObject.tag == "inimigo")
        {
            outroInimigo.levaDano(dano);
        }



        if (c.gameObject.tag == "subInimigo")
        {
            //	Instantiate (explosao, transform.position,transform.rotation);



            Destroy(c.gameObject);
            Destroy(gameObject);
            //PontuacaoScript.score++;
        }
    }
Esempio n. 4
0
    void ProcureObjetosPerto()
    {
        GameObject[] osPerto = InimigoBase.InimigosPerto(raioDeDano, transform.position);

        EstadoDePersonagem_Gerente T     = GameObject.FindWithTag("Player").GetComponent <EstadoDePersonagem_Gerente>();
        DadosDoPersonagem          dados = T.Dados;
        float distancia = Vector3.Distance(T.transform.position, transform.position);

        if (distancia < raioDeDano)
        {
            T.AplicarDano(ValorDeDano(distancia, dados.G_XP.Nivel));
            AfastamentoDeExplosaoParaHeroi afH = T.gameObject.AddComponent <AfastamentoDeExplosaoParaHeroi>();
            afH.dirAfastamento = Vector3.ProjectOnPlane(T.transform.position - transform.position, Vector3.up).normalized;
        }

        foreach (GameObject I in osPerto)
        {
            AfastadorDeInimigoEmDano.InsereAfastamento(
                Vector3.ProjectOnPlane((I.transform.position - transform.position), Vector3.up).normalized, distanciaDeAfastamento, tempoDeAfastamento, I);
            I.GetComponent <InimigoBase>()
            .TomaDano(ValorDeDano(Vector3.Distance(I.transform.position, transform.position), dados.G_XP.Nivel), TipoDeDano.explosao);
        }
    }