protected override void OnTriggerEnter2D(Collider2D collision)
    {
        Vector3 posHeroi = GameController.g.Manager.transform.position;

        if (collision.tag == "Player" ||
            collision.gameObject.name == "MagicAttack" ||
            estado == EstadoDaqui.emAtaque
            || //(collision.gameObject.name == "colisorDeAtaqueComum"
            (Mathf.Sign(posHeroi.x - transform.position.x) == Mathf.Sign(transform.localScale.x)))
        {
            base.OnTriggerEnter2D(collision);
        }
        else if (Mathf.Sign(posHeroi.x - transform.position.x) != Mathf.Sign(transform.localScale.x))
        {
            if (collision.gameObject.name == "colisorDoAtaquebaixo")
            {
                SoundOnAttack.SoundAndAnimation(transform, collision.transform.position);
                EventAgregator.Publish(new StandardSendGameEvent(EventKey.colisorNoQuicavel, collision.name));
            }
            else if (collision.tag == "attackCollisor")
            {
                SoundOnAttack.SoundAnimationAndRepulse(transform, forcaDeRepulsa, tempoNaRepulsao, collision.transform.position);
            }

            // EventAgregator.Publish(new StandardSendGameEvent(EventKey.requestCharRepulse, forcaDeRepulsa * Mathf.Sign(-transform.localScale.x) * Vector3.right, tempoNaRepulsao));
            //EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, SoundEffectID.rockFalseAttack));
        }
    }
    protected override void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Player")
        {
            if (UnicidadeDoPlayer.Verifique(collision))
            {
                bool sentidoPositivo = transform.position.x - collision.transform.position.x > 0;
                EventAgregator.Publish(new StandardSendGameEvent(gameObject, EventKey.heroDamage, sentidoPositivo, Dados.AtaqueBasico));
            }
        }

        if (collision.tag == "attackCollisor")
        {
            if (collision.name == "MagicAttack")
            {
                EventAgregator.Publish(new StandardSendGameEvent(gameObject, EventKey.enemyContactDamage, collision.name));
            }
            else if (collision.name == "colisorDoAtaquebaixo")
            {
                EventAgregator.Publish(new StandardSendGameEvent(EventKey.colisorNoQuicavel, collision.name));
                SoundOnAttack.SoundAndAnimation(transform, collision.transform.position);
            }
            else
            {
                SoundOnAttack.SoundAnimationAndRepulse(transform, forcaDeRepulsa, tempoNaRepulsao, collision.transform.position);
            }
        }
    }
Exemplo n.º 3
0
    protected override void Attack()
    {
        if (Time.time > nextFire)
        {
            nextFire = Time.time + fireRate;

            int     angle = 25;
            Vector3 pushForce;
            do
            {
                pushForce = GetBallisticVelocity((target.position - transform.position).normalized * 10000f, angle);
                angle--;
            } while (float.IsNaN(pushForce.x) || float.IsNaN(pushForce.y) || float.IsNaN(pushForce.z));

            if (angle <= 0)
            {
                return;
            }
            target.gameObject.GetComponent <Rigidbody>().AddForce(pushForce, ForceMode.Impulse);
            target.GetComponent <BarbieLife>().decreaseLife(1);

            SoundOnAttack soa = GetComponent <SoundOnAttack>();

            if (soa != null)
            {
                soa.Play();
            }
        }
    }
    protected override void OnTriggerEnter2D(Collider2D collision)
    {
        base.OnTriggerEnter2D(collision);

        if (collision.tag == "attackCollisor")
        {
            EventAgregator.Publish(new StandardSendGameEvent(EventKey.colisorNoQuicavel, collision.name));
            SoundOnAttack.SoundAndAnimation(transform, collision.transform.position);
        }
    }
Exemplo n.º 5
0
 protected override void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "attackCollisor")
     {
         if (GameController.g.Manager.CorDaEspadaselecionada == (int)sColor)
         {
             if (collision.tag == "attackCollisor")
             {
                 DestruicaoSemID();
             }
         }
         else if (collision.name != "magicAttack")
         {
             SoundOnAttack.SoundAnimationAndRepulse(transform, forcaDeRepulsa, tempoNaRepulsao, collision.transform.position);
         }
     }
 }
Exemplo n.º 6
0
    protected override void Attack()
    {
        if (Time.time > nextFire)
        {
            nextFire = Time.time + fireRate;

            Vector3    normalizedDirection = (target.position - transform.position).normalized;
            GameObject projectile          = GameObject.Instantiate(m_projectile, transform.position + normalizedDirection * 2f, transform.rotation) as GameObject;
            Rigidbody  rb = projectile.GetComponent <Rigidbody>();

            Vector3 ballisticVelocity = GetBallisticVelocity(target.position, RandomDevice.NextInt(15, 60));

            rb.AddForce(ballisticVelocity, ForceMode.Impulse);

            SoundOnAttack soa = GetComponent <SoundOnAttack>();

            if (soa != null)
            {
                soa.Play();
            }
        }
    }
Exemplo n.º 7
0
 protected override void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "attackCollisor")
     {
         if (GameController.g.Manager.CorDaEspadaselecionada == (int)sColor)
         {
             base.OnTriggerEnter2D(collision);
         }
         else if (collision.name != "MagicAttack")
         {
             /*
              * float difPosX = GameController.g.Manager.transform.position.x - transform.position.x;
              * Vector3 dir = forcaDeRepulsa * Mathf.Sign(difPosX) * Vector3.right;
              *
              * EventAgregator.Publish(new StandardSendGameEvent(EventKey.requestCharRepulse, dir , tempoNaRepulsao));
              *
              * new MyInvokeMethod().InvokeNoTempoDeJogo(() => {
              *  EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, SoundEffectID.rockFalseAttack));
              * },0.2f);*/
             SoundOnAttack.SoundAnimationAndRepulse(transform, forcaDeRepulsa, tempoNaRepulsao, collision.transform.position);
         }
     }
 }