Beispiel #1
0
    void PuxarCartaMesa()
    {
        AtaqueNoInimigo = CartaAtual;
        CartaNaMesa refCard = AtaqueNoInimigo.GetComponent <CartaNaMesa>();

        if (refCard.PodeAtacar)
        {
            seta = Instantiate(Seta);
            seta.transform.SetParent(transform.GetChild(4), false);
            seta.transform.localPosition = CartaAtual.transform.parent.localPosition - new Vector3(10, 80);
        }
    }
Beispiel #2
0
    IEnumerator DarDano(GameObject obj)
    {
        yield return(new WaitForSeconds(0.40f));

        if (obj)
        {
            obj.GetComponent <CartaNaMesa>().Defesa             -= AtaqueNoInimigo.GetComponent <CartaNaMesa>().Ataque;
            AtaqueNoInimigo.GetComponent <CartaNaMesa>().Defesa -= obj.GetComponent <CartaNaMesa>().Ataque;
            som.PlayOneShot(audios[2]);
            AtaqueNoInimigo = null;
        }
    }
Beispiel #3
0
    IEnumerator DarDanoInimigo(GameObject obj)
    {
        yield return(new WaitForSeconds(0.40f));

        dano = Instantiate(Dano);
        dano.transform.SetParent(transform.GetChild(4), false);
        dano.transform.localPosition     = obj.transform.localPosition + Vector3.up * 50 + Vector3.left * 30;
        dano.transform.localScale        = new Vector3(3, 3);
        dano.GetComponent <Text>().text += AtaqueNoInimigo.GetComponent <CartaNaMesa>().Ataque.ToString();
        GetComponent <PlayerAdversario>().PerderVida(AtaqueNoInimigo.GetComponent <CartaNaMesa>().Ataque);
        som.PlayOneShot(audios[2]);
        AtaqueNoInimigo = null;
    }
Beispiel #4
0
    void Atacar()
    {
        foreach (var obj in resultados)
        {
            // carta efeito
            if (isOnEffect && (obj.gameObject.name == "CartaNaMesaInimigo" || obj.gameObject.name == "CartaNaMesa"))
            {
                int barra = goldPlayer.text.IndexOf('/');
                goldPlayer.text = (int.Parse(goldPlayer.text.Substring(0, barra)) - cartaEfeito.Valor).ToString() + "/" + EventControllerBehaviour.ouroMaximo;
                //playerid.CmdAtualizarGold(goldPlayer.text);
                this.gameObject.GetComponent <EventControllerBehaviour>().RealizarPassivaEm(cartaEfeito.Passiva, obj.gameObject.transform.parent.gameObject, true, null);
                //playerid.CmdTirarCartaBaralho(cartaEfeito.PosicaoBaralho);
                //carta ativo não referenciam objetos realizadores
                // playerid.CmdEfeitoRealizado(!(obj.gameObject.name == "CartaNaMesa"),obj.gameObject.GetComponent<CartaNaMesa>().PosicaoBaralho,cartaEfeito.Passiva.quantidade,(int)cartaEfeito.Passiva.efeito);
                SetRaycast(true);
                isOnEffect = false;
                // cartaEfeito = null;
            }
            //atacar carta
            if (obj.gameObject.name == "CartaNaMesaInimigo" && AtaqueNoInimigo)
            {
                CartaNaMesa refCard = AtaqueNoInimigo.GetComponent <CartaNaMesa>();
                if (refCard.QuantidadeAtaque > 0)
                {
                    //playerid.CmdAtacarCarta(refCard.PosicaoBaralho,obj.gameObject.GetComponent<CartaNaMesa>().PosicaoBaralho);
                    AtaqueNoInimigo.transform.parent.GetComponent <Animator>().SetTrigger("Atacar");
                    GameObject  inimigo      = obj.gameObject.transform.parent.gameObject;
                    CartaNaMesa enemyRefCard = obj.gameObject.transform.GetComponent <CartaNaMesa>();
                    // passiva do inimigo quando atacado se inicia primeiro do que quando a carta ataca primeiro
                    switch (enemyRefCard.AtivarPassivaQuando)
                    {
                    case Evento.CartaRecebeuDano:
                        if (enemyRefCard.Alvo != AlvoPassiva.CartaQueAtacou)
                        {
                            this.gameObject.GetComponent <EventControllerBehaviour>().RealizarPassivaEm(enemyRefCard.Passiva, enemyRefCard.Alvo, false, inimigo);
                        }
                        else
                        {
                            this.gameObject.GetComponent <EventControllerBehaviour>().RealizarPassivaEm(enemyRefCard.Passiva, AtaqueNoInimigo.transform.parent.gameObject, false, inimigo);
                        }
                        break;
                    }
                    switch (refCard.AtivarPassivaQuando)
                    {
                    case Evento.CartaAtaque:

                        if (refCard.Alvo != AlvoPassiva.CartaAtacada)
                        {
                            this.gameObject.GetComponent <EventControllerBehaviour>().RealizarPassivaEm(refCard.Passiva, refCard.Alvo, true, AtaqueNoInimigo.transform.parent.gameObject);
                        }
                        else
                        {
                            this.gameObject.GetComponent <EventControllerBehaviour>().RealizarPassivaEm(refCard.Passiva, inimigo, true, AtaqueNoInimigo.transform.parent.gameObject);
                        }

                        break;
                    }

                    refCard.QuantidadeAtaque--;

                    StartCoroutine(DarDano(obj.gameObject));
                }
                break;
            }
            //atacar player inimigo
            else if (obj.gameObject.name == "CampoInimigo" && obj.gameObject.GetComponent <MesaBehaviour>().cartas.Count == 0 && AtaqueNoInimigo)
            {
                CartaNaMesa refCard = AtaqueNoInimigo.GetComponent <CartaNaMesa>();
                if (refCard.QuantidadeAtaque > 0)
                {
                    AtaqueNoInimigo.transform.parent.GetComponent <Animator>().SetTrigger("Atacar");
                    //playerid.CmdAtacarPlayer(refCard.PosicaoBaralho);
                    refCard.QuantidadeAtaque--;
                    StartCoroutine(DarDanoInimigo(obj.gameObject));
                }
            }
        }
    }