Ejemplo n.º 1
0
        public override void IniciaGolpe(GameObject G)
        {
            addView = false;

            carac.posInicial = EmissionPosition.Get(G, Nome);

            DirDeREpulsao = G.transform.forward;

            string animacao = "emissor";

            if (!AnimaEmissor)
            {
                animacao = Nome.ToString();
            }

            MessageAgregator <MsgRequestAtkAnimation> .Publish(new MsgRequestAtkAnimation()
            {
                gameObject = G,
                nomeAnima  = animacao
            });

            MessageAgregator <MsgRequest3dSound> .Publish(new MsgRequest3dSound()
            {
                sender = G.transform,
                sfxId  = SomDoGolpe
            });
        }
Ejemplo n.º 2
0
        public static void AplicaProjetil(GameObject G, PetAttackBase ativa, ProjetilFeatures carac)
        {
            PetAttackDb golpeP = PetAttackDb.RetornaGolpePersonagem(G, ativa.Nome);

            if (golpeP.TempoDeInstancia > 0)
            {
                carac.posInicial = EmissionPosition.Get(G, ativa.Nome);
            }

            GameObject KY = InstanceSupport.InstancieEDestrua(ativa.Nome, carac.posInicial, ativa.DirDeREpulsao, ativa.TempoDeDestroy);

            DamageColliderBase proj = DamageColliderFactory.Get(KY, carac.tipo);

            #region suprimido
            //switch (carac.tipo)
            //{
            //    case TipoDoProjetil.rigido:
            //        proj = KY.AddComponent<ColisorDeDanoRigido>();
            //    break;
            //    case TipoDoProjetil.basico:
            //        proj = KY.AddComponent<ColisorDeDano>();
            //    break;
            //    case TipoDoProjetil.statusExpansivel:
            //        proj = KY.AddComponent<ColisorDeStatusExpansivel>();
            //    break;
            //    case TipoDoProjetil.direcional:
            //        ColisorDeDanoDirecional projD = KY.AddComponent<ColisorDeDanoDirecional>();
            //        projD.alvo = (G.name == "CriatureAtivo")
            //            ? ((GameController.g.InimigoAtivo != null) ? GameController.g.InimigoAtivo.gameObject : null)
            //            : GameController.g.Manager.CriatureAtivo.gameObject;
            //        proj = projD;
            //    break;
            //}
            #endregion

            proj.velocidadeProjetil = ativa.VelocidadeDeGolpe;
            proj.noImpacto          = carac.noImpacto;
            proj.dono      = G;
            proj.esseGolpe = ativa;
        }