public override void IniciaGolpe(GameObject G) { aImpacto = new StandardImpactUpdate(); aImpacto.ReiniciaAtualizadorDeImpactos(); //AnimadorCriature.AnimaAtaque(G, Nome.ToString()); MessageAgregator <MsgRequestAtkAnimation> .Publish(new MsgRequestAtkAnimation() { nomeAnima = Nome.ToString(), gameObject = G }); }
public void ImpactoAtivo( GameObject G, PetAttackBase ativa, AeroImpactFeatures caracteristica, float colocarColisor = 0, GameObject focado = null) { tempoDecorrido += Time.deltaTime; if (!procurouAlvo) { if (focado) { alvoProcurado = focado.transform; } else { alvoProcurado = FindBestTarget.Procure(G, new string[1] { "Criature" }); //CriaturesPerto.procureUmBomAlvo(G); } procurouAlvo = true; // Debug.Log(alvoProcurado + " esse é o alvo"); StandardImpactUpdate.AttackHelper(alvoProcurado, G.transform); if (alvoProcurado != null) { ativa.DirDeREpulsao = (Vector3.ProjectOnPlane(alvoProcurado.position - G.transform.position, Vector3.up)).normalized; } MessageAgregator <MsgRequestAtkAnimation> .Publish(new MsgRequestAtkAnimation() { gameObject = G, nomeAnima = ativa.Nome.ToString() }); MessageAgregator <MsgRequest3dSound> .Publish(new MsgRequest3dSound() { sender = G.transform, sfxId = ativa.SomDoGolpe }); //AnimadorCriature.AnimaAtaque(G, ativa.Nome.ToString()); /* aproveitado da geração 1 de scripts atualizado no 2021*/ ao = G.AddComponent <OnFloorImpactParticles>(); ao.aoChao = caracteristica.toque.ToString(); ao.onGroundSound = caracteristica.onTouchGroundSound; /* ******************* */ } if (!adview && tempoDecorrido > colocarColisor) { AttackColliders.AdicionaOColisor(G, ativa, caracteristica.deImpacto, tempoDecorrido + ativa.TempoDeMoveMin); adview = true; } if (caracteristica.final == FinalAeroImpact.MaisAltoQueOAlvo) { MaisAltoQueOAlvo(G, ativa); } else { AvanceEPareAbaixo(G, ativa); } //if (tempoDecorrido > ativa.TempoDeMoveMax) // nav.enabled = estavaParada; }