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++; } }
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; }
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); } } }