public void TirarCarta(int a) { CartaInimigo atributos = maoAdversaria[a].GetComponent <CartaInimigo>(); MesaBehaviour mesa = transform.GetChild(2).GetComponent <MesaBehaviour>(); CartaSegurada = maoAdversaria[a]; distanciamentoCartasMaximo -= 10; maoAdversaria[a].GetComponent <Animator>().SetBool("autoDestruir", true); maoAdversaria.RemoveAt(a); SetAnimacao(distanciamentoCartasMaximo); }
// executa a animação de movimentação do baralho do ponto inicial ao final ja setado com a suavização // dada pela função final ja setado com a suavização dada pela função "f(x)= -x² + 2x" private void Angular() { //função y = -x * x + 2 * x; //velocidade da animação x += (velocidadeAnimacao * Time.deltaTime); //dado o fim da animação if (x >= 1) { animarBaralho = false; return; } //animando todas as cartas da mão //por meio do metodo vector.lerp foreach (var obj in maoAdversaria) { CartaInimigo atributos = obj.GetComponent <CartaInimigo>(); atributos.AngulacaoInicial = (atributos.AngulacaoInicial.z > 180) ? atributos.AngulacaoInicial - Vector3.forward * 360 : atributos.AngulacaoInicial; atributos.AngulacaoFinal = (atributos.AngulacaoFinal.z > 180) ? atributos.AngulacaoFinal - Vector3.forward * 360 : atributos.AngulacaoFinal; obj.transform.localPosition = Vector2.Lerp(atributos.PosicaoInicial, atributos.PosicaoFinal, y); obj.transform.eulerAngles = Vector3.Lerp(atributos.AngulacaoInicial, atributos.AngulacaoFinal, y); } }