public void RealizarPassivaEm(PassivaComulativa efeito, GameObject alvo, bool player1, GameObject realizador) { EffectBase a = Factory.Criar((int)(efeito.efeito)); a.quantidadeDoEfeito = efeito.quantidade; a.RealizarEfeitoEm(alvo, realizador); }
public void RealizarPassivaEm(PassivaComulativa efeito, AlvoPassiva alvo, bool player1, GameObject realizador) { EffectBase a = Factory.Criar((int)(efeito.efeito)); a.quantidadeDoEfeito = efeito.quantidade; switch (alvo) { case AlvoPassiva.CartaAdversaria: a.RealizarEfeitoEm(player1?CartasInimigo.cartas:CartasPlayer.cartas, realizador); break; case AlvoPassiva.CartaAliada: a.RealizarEfeitoEm(player1? CartasPlayer.cartas: CartasInimigo.cartas, realizador); break; case AlvoPassiva.TodasAsCartas: //garantir que nos dois pc rodem as passivas na mesma ordem // if(!playerid.isplayer2) // { // a.RealizarEfeitoEm(CartasPlayer.cartas,realizador); // a.RealizarEfeitoEm(CartasInimigo.cartas,realizador); // } // else // { // a.RealizarEfeitoEm(CartasInimigo.cartas,realizador); // a.RealizarEfeitoEm(CartasPlayer.cartas,realizador); // } break; case AlvoPassiva.CartaAleatoriaAliada: // if(/*!player1 && CartasInimigo.cartas.Count > 0 ||*/CartasPlayer.cartas.Count > 0) // { // if(rodandoPassivasCampoProprio) // { // var rnd = Random.Range(0,CartasPlayer.cartas.Count); // a.RealizarEfeitoEm(CartasPlayer.cartas[rnd],realizador); // playerid.CmdEfeitoRealizado(false,rnd,efeito.quantidade,(int)(efeito.efeito)); // } // } break; case AlvoPassiva.CartaAleatoriaAdversaria: // if(CartasInimigo.cartas.Count > 0 /*|| !player1 && CartasPlayer.cartas.Count > 0*/) // { // if(rodandoPassivasCampoProprio) // { // var rnd = Random.Range(0,CartasInimigo.cartas.Count); // a.RealizarEfeitoEm(CartasInimigo.cartas[rnd],realizador); // playerid.CmdEfeitoRealizado(true,rnd,efeito.quantidade,(int)(efeito.efeito)); // } // } break; case AlvoPassiva.Carta: a.RealizarEfeitoEm(realizador, realizador); break; } }
public void definirComeco(float ataq, float def, Sprite img, PassivaComulativa passiva, Evento ativarPassivaQuando, AlvoPassiva alvoDaPassiva) { Imagem = img; AtivarPassivaQuando = ativarPassivaQuando; Passiva = passiva; Alvo = alvoDaPassiva; Defesa = def; Ataque = ataq; }
public void definirComeco(string numero) { Id = numero; Card refCard = Resources.Load <Card>("InformacoesCartas/" + numero); Imagem = Resources.Load <Sprite>("CartasProntas/" + numero); //TESTE AtivarPassivaQuando = refCard.ativarPassivaQuando; Alvo = refCard.alvoDaPassiva; //FIM TESTE Nome = refCard.nome; Descricao = refCard.desc; Ataque = refCard.dano; Defesa = refCard.vida; Valor = refCard.valor; //// testando ////////// IsAtivo = AtivarPassivaQuando == Evento.CartaEfeito; //////////////////////// passiva = new PassivaComulativa(refCard.quantidadePassiva, refCard.passiva); }
public void CriarCartaInicio(float ataq, float def, Sprite img, Evento ev, PassivaComulativa ef, AlvoPassiva alv, AudioClip[] aoMorrer) { GameObject objCarta = Instantiate(carta); objCarta.transform.localPosition = new Vector2(0, -20); objCarta.GetComponent <Image>().raycastTarget = false; CartaNaMesa obj = objCarta.transform.GetChild(0).GetComponent <CartaNaMesa>(); objCarta.transform.SetParent(transform, false); obj.definirComeco(ataq, def, img, ef, ev, alv); obj.AoMorrer = aoMorrer; cartas.Add(objCarta); distanciamentoCartasMaximo += 20; //dispersar cartas na mesa SetAnimacao(distanciamentoCartasMaximo); switch (obj.AtivarPassivaQuando) { case Evento.CartaIniciada: controller.rodandoPassivasCampoProprio = !(obj.name == "CartaNaMesaInimigo"); controller.RealizarPassivaEm(obj.Passiva, obj.Alvo, (objCarta.tag == "Player"), objCarta); break; } }
public void AdicionarPassiva(PassivaComulativa a) { efeitosComulativos.Add(a); }