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); } } }
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); } }
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); } } }
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(); } } }
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); } } }