示例#1
0
    void InstanciarColecao(string categoriaAtual)
    {
        peChildCount = 0;
        // limpando as páginas

        foreach (Transform i in paginaEsquerda.transform)
        {
            Destroy(i.gameObject);
        }

        foreach (Transform i in paginaDireita.transform)
        {
            Destroy(i.gameObject);
        }
        numCartasPags = 0;
        indice        = numPagina * numMaxCartasPag;
        while (indice < baralho.cartasBaralho.Count)
        {
            if (numCartasPags >= 8)
            {
                break;
            }
            if (indice < baralho.cartasBaralho.Count)
            {
                Carta valorCarta = ar.obterInstanciaCarta(baralho.cartasBaralho[indice]);
                if (valorCarta.categoria == categoriaAtual || categoriaAtual == "Todas")
                {
                    carta           = Instantiate(prefabCarta) as GameObject;
                    infoCarta       = carta.GetComponent <ExibirInfoCarta>();
                    infoCarta.carta = valorCarta;
                    infoCarta.CarregarCarta(valorCarta);
                    carta.AddComponent <BotaoOver>();
                    carta.GetComponent <BotaoOver>().cursorClicavel = cursorClicavel;
                    carta.GetComponent <BotaoOver>().cursorIdle     = cursorIdle;
                    // joga as cartas fisicamente na mão do jogador
                    if (peChildCount < 4)
                    {
                        Configuracoes.DefinirPaiCarta(carta.transform, paginaEsquerda.transform);
                        peChildCount++;
                    }
                    else
                    {
                        Configuracoes.DefinirPaiCarta(carta.transform, paginaDireita.transform);
                    }
                    carta.gameObject.transform.localScale = new Vector3(0.2f, 0.2f, 1);
                    numCartasPags++;
                }
            }
            else
            {
                break;
            }
            indice++;
        }
    }
示例#2
0
    void Start()

    {
        AdmRecursos ar = Configuracoes.GetAdmRecursos();
        Carta       c  = ar.obterInstanciaCarta(baralhoCarregamento.cartasBaralho[Random.Range(0, baralhoCarregamento.cartasBaralho.Count)]);

        cartaOlhada.GetComponent <ExibirInfoCarta>().carta = c;
        cartaOlhada.GetComponent <ExibirInfoCarta>().CarregarCarta(c);
        textoDescricao.text = c.textoDescricao;
        Configuracoes.admCursor.MudarSprite(cursorIdle);
        Configuracoes.admCursor.sobreBotao = false;
    }
示例#3
0
    public void PuxarCarta(SeguradorDeJogador jogador)
    {
        if (jogador.cartasMao.Count < numMaxCartasMao)
        {
            AdmRecursos     ar        = Configuracoes.GetAdmRecursos();                                                      //precisamos acessar o admRecursos
            GameObject      carta     = Instantiate(prefabCarta) as GameObject;                                              //instanciamos a carta de acordo com o prefab
            ExibirInfoCarta e         = carta.GetComponent <ExibirInfoCarta>();                                              //pegamos todas as informações atribuidas de texto e posição dela
            InstanciaCarta  instCarta = carta.GetComponent <InstanciaCarta>();
            e.CarregarCarta(ar.obterInstanciaCarta(jogador.baralho.cartasBaralho[jogador.baralho.cartasBaralho.Count - 1])); //e por fim dizemos que os textos escritos serão os da carta na mão do jogador
            instCarta.carta = e.carta;
            instCarta.SetPoderECusto();
            e.CarregarCarta(instCarta.carta);
            instCarta.logicaAtual = jogador.logicaMao;//define a lógica pra ser a lógica da mão
            if (instCarta.carta.efeito != null)
            {
                Efeito novoEfeito = ScriptableObject.CreateInstance("Efeito") as Efeito;
                // novoEfeito = instCarta.carta.efeito;
                novoEfeito.name = instCarta.carta.efeito.name;
                novoEfeito.afetaApenasSeuJogador = instCarta.carta.efeito.afetaApenasSeuJogador;
                novoEfeito.afetaTodasCartas      = instCarta.carta.efeito.afetaTodasCartas;
                novoEfeito.alteracaoMagia        = instCarta.carta.efeito.alteracaoMagia;
                novoEfeito.alteracaoPoder        = instCarta.carta.efeito.alteracaoPoder;
                novoEfeito.alteracaoVida         = instCarta.carta.efeito.alteracaoVida;
                novoEfeito.apenasJogador         = instCarta.carta.efeito.apenasJogador;
                novoEfeito.ativacao         = instCarta.carta.efeito.ativacao;
                novoEfeito.cartaAlvo        = instCarta.carta.efeito.cartaAlvo;
                novoEfeito.cartaQueInvoca   = instCarta;
                novoEfeito.condicaoAtivacao = instCarta.carta.efeito.condicaoAtivacao;
                novoEfeito.escolheAlvoCarta = instCarta.carta.efeito.escolheAlvoCarta;
                novoEfeito.eventoAtivador   = instCarta.carta.efeito.eventoAtivador;
                novoEfeito.jogadorAlvo      = instCarta.carta.efeito.jogadorAlvo;
                novoEfeito.jogadorQueInvoca = jogador;
                novoEfeito.modoDeExecucao   = instCarta.carta.efeito.modoDeExecucao;
                novoEfeito.podeUsarEmSi     = instCarta.carta.efeito.podeUsarEmSi;
                novoEfeito.tipoEfeito       = instCarta.carta.efeito.tipoEfeito;
                instCarta.efeito            = novoEfeito;

                if (instCarta.efeito.apenasJogador)
                {
                    //afeta vc
                    if (instCarta.efeito.afetaApenasSeuJogador)
                    {
                        instCarta.efeito.jogadorAlvo = jogador;
                    }
                    else//afeta o inimigo
                    {
                        if (jogador == jogadorIA)
                        {
                            instCarta.efeito.jogadorAlvo = jogadorLocal;
                        }
                        else
                        {
                            instCarta.efeito.jogadorAlvo = jogadorIA;
                        }
                    }
                }
            }
            instCarta.jogadorDono = jogador;
            Configuracoes.DefinirPaiCarta(carta.transform, jogador.seguradorCartas.gridMao.valor);//joga as cartas fisicamente na mão do jogador
            jogador.cartasMao.Add(instCarta);
            jogador.baralho.cartasBaralho.RemoveAt(jogador.baralho.cartasBaralho.Count - 1);
            if (jogador == jogadorAtual)
            {
                carta.transform.Find("Fundo da Carta").gameObject.SetActive(false);
            }

            else
            {
                carta.transform.Find("Fundo da Carta").gameObject.SetActive(true);
            }
        }
    }