public void CarregarCartasJogador(SeguradorDeJogador seguradorJogador, InfoUIJogador InfoUIJogador) { foreach (InstanciaCarta c in seguradorJogador.cartasBaixadas) { Configuracoes.DefinirPaiCarta(c.infoCarta.gameObject.transform, gridCartasBaixadas.valor.transform); } foreach (InstanciaCarta c in seguradorJogador.cartasMao) { Configuracoes.DefinirPaiCarta(c.infoCarta.gameObject.transform, gridMao.valor.transform); } foreach (InstanciaCarta c in seguradorJogador.cartasCemiterio) { Configuracoes.DefinirPaiCarta(c.infoCarta.gameObject.transform, gridCemiterio.valor.transform); Vector3 posicao = Vector3.zero; posicao.x = seguradorJogador.cartasCemiterio.Count * 10; posicao.z = seguradorJogador.cartasCemiterio.Count * 10; c.transform.localPosition = posicao; c.transform.localRotation = Quaternion.identity; c.transform.localScale = Vector3.one; } foreach (InstanciaCarta c in Configuracoes.admJogo.jogadorInimigo.cartasMao) { c.transform.Find("Fundo da Carta").gameObject.SetActive(true); } foreach (InstanciaCarta c in Configuracoes.admJogo.jogadorAtual.cartasMao) { c.transform.Find("Fundo da Carta").gameObject.SetActive(false); } seguradorJogador.infoUI = InfoUIJogador; seguradorJogador.CarregarInfoUIJogador(); }
public List <InstanciaCarta> cartasCemiterio = new List <InstanciaCarta>(); // lista de cartas no cemitério public void InicializarJogador() { magia = magiaInicial; vida = vidaInicial; barrasDeVida = 3; baralho = ScriptableObject.CreateInstance("Baralho") as Baralho; baralho.cartasBaralho = new List <string>(); baralho.jogador = this; cartasBaixadas.Clear(); cartasMao.Clear(); cartasCemiterio.Clear(); lendasBaixadasNoTurno = 0; feiticosBaixadosNoTurno = 0; podeUsarEfeito = true; podeSerAtacado = true; passouRodada = false; fezAlgumaAcao = false; silenciado = false; if (this == Configuracoes.admJogo.jogadorLocal) { infoUI = Configuracoes.admJogo.infoJogadorAtual; } else { infoUI = Configuracoes.admJogo.infoJogadorInimigo; } foreach (string carta in baralhoInicial.cartasBaralho) { baralho.cartasBaralho.Add(carta); } if (jogadorHumano == true) { seguradorCartas = Configuracoes.admJogo.seguradorCartasJogadorAtual; } else { seguradorCartas = Configuracoes.admJogo.seguradorCartasJogadorInimigo; } CarregarInfoUIJogador(); PuxarCartasIniciais(); }
public override void Executar(float d) { if (Input.GetMouseButtonDown(0)) { List <RaycastResult> resultados = Configuracoes.GetUIObjs(); foreach (RaycastResult r in resultados) { //logica para atacar o jogador inimigo InfoUIJogador infoJogadorInimigo = r.gameObject.GetComponentInParent <InfoUIJogador>(); if (infoJogadorInimigo != null) { if (infoJogadorInimigo.jogador == Configuracoes.admJogo.jogadorInimigo) { Configuracoes.admJogo.jogadorAtacado = Configuracoes.admJogo.jogadorInimigo; Configuracoes.admJogo.DefinirEstado(jogadorEmSeuTurno); Configuracoes.RegistrarEvento("O alvo " + Configuracoes.admJogo.jogadorAtacado.nomeJogador + " foi selecionado para ser atacado", Color.white); if (gridAreaDropavel != null) { gridAreaDropavel.valor.GetComponent <Image>().raycastTarget = true; } Configuracoes.admJogo.StartCoroutine(Configuracoes.admJogo.Atacar()); Configuracoes.admJogo.jogadorAtual.fezAlgumaAcao = true; } else { Configuracoes.admJogo.TocarSomNaoPode(); } return; } //logica para atacar uma carta InstanciaCarta instCarta = r.gameObject.GetComponentInParent <InstanciaCarta>(); if (instCarta != null) { if (instCarta == Configuracoes.admJogo.cartaAtacante) { Configuracoes.admJogo.cartaAtacante.gameObject.transform.localScale = new Vector3(0.28f, 0.28f, 1); Configuracoes.RegistrarEvento("O jogador desistiu de atacar", Color.white); Configuracoes.admJogo.estadoAtual = jogadorEmSeuTurno; return; } if (instCarta.podeSerAtacada) { Configuracoes.admJogo.cartaAtacada = instCarta; Configuracoes.admJogo.DefinirEstado(jogadorEmSeuTurno); cartaFoiAtacada.cartaQueAtivouEvento = instCarta; Configuracoes.admEfeito.eventoAtivador = cartaFoiAtacada; cartaFoiAtacada.Raise(); Configuracoes.admJogo.StartCoroutine(Configuracoes.admJogo.Atacar()); Configuracoes.admJogo.jogadorAtual.fezAlgumaAcao = true; if (gridAreaDropavel != null) { gridAreaDropavel.valor.GetComponent <Image>().raycastTarget = true; } return; } else { Configuracoes.admJogo.TocarSomNaoPode(); } } } if (gridAreaDropavel != null) { gridAreaDropavel.valor.GetComponent <Image>().raycastTarget = true; } Configuracoes.admJogo.cartaAtacante.gameObject.transform.localScale = new Vector3(0.28f, 0.28f, 1); Configuracoes.admJogo.estadoAtual = jogadorEmSeuTurno; } }
public override void Executar(float d) { List <RaycastResult> resultados = Configuracoes.GetUIObjs(); foreach (RaycastResult r in resultados) { InfoUIJogador infoJogadorAlvo = r.gameObject.GetComponentInParent <InfoUIJogador>(); IClicavel carta = r.gameObject.GetComponentInParent <InstanciaCarta>(); if (infoJogadorAlvo != null) { if (Configuracoes.admJogo.estadoAtual.name == "Atacando" || Configuracoes.admJogo.estadoAtual.name == "Usando Efeito") { if (infoJogadorAlvo.jogador == Configuracoes.admJogo.jogadorInimigo) { if (Configuracoes.admJogo.estadoAtual.name == "Atacando") { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoVerde); return; } if (Configuracoes.admJogo.estadoAtual.name == "Usando Efeito" && Configuracoes.admJogo.efeitoAtual.alteracaoVida < 0) { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoVerde); } else { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoVermelho); } return; } else { if (Configuracoes.admJogo.estadoAtual.name == "Usando Efeito" && Configuracoes.admJogo.efeitoAtual.alteracaoVida > 0) { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoVerde); } else { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoVermelho); } return; } } } //se acertou algo, mas não é uma carta if (carta != null && Configuracoes.admJogo.estadoAtual != null) { carta.AoOlhar(); return; } } if (resultados.Count <= 0) { if (cartaAtual.valor != null) { cartaAtual.valor.gameObject.SetActive(true); cartaAtual.valor = null; } if (!Configuracoes.cartaRecemJogada) { aoPararDeOlharCarta.Raise(); } } if (cartaAtual.valor != null) { cartaAtual.valor.gameObject.SetActive(true); cartaAtual.valor = null; } if (Configuracoes.admJogo.estadoAtual.name == "Em Seu Turno" && Configuracoes.admCursor.sobreBotao == false) { Configuracoes.admCursor.MudarSprite(cursorIdle); } if (Configuracoes.admJogo.estadoAtual.name == "Atacando" || Configuracoes.admJogo.estadoAtual.name == "Usando Efeito") { Configuracoes.admCursor.MudarSprite(Configuracoes.admJogo.cursorAlvoCinza); } }