private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.CompareTag(GameConstVal.MonsterTag) && collision.gameObject.layer != GameConstVal.FlyMonsterLayer) { Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Pos(m_Damage, transform); if (monster.CheckCanAddHittedEffect()) { GameObject effect = GetHittedEnemyEffect(); effect.transform.SetParent(monster.transform, false); effect.transform.position = monster.transform.position; } if (BuffTime > 0) { monster.AddBuff(AiBuffType.MoveSpeed, BuffTime, BuffVal); } } else if (collision.gameObject.CompareTag(GameConstVal.DamageRangeTag)) { if (BuffTime > 0) { Player player = collision.gameObject.GetComponentInParent <Player>(); if (player == null) { player = collision.gameObject.GetComponentInChildren <Player>(); } if (player != null) { player.GetBuffMgr().AddBuff(BuffType.MoveSpeed, BuffTime, BuffVal); } } } }
private void OnTriggerEnter2D(Collider2D collision) { if (m_IsInDelayDestroy) { return; } if (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); if (m_Damage > 0.1d) { OnHitted(collision.transform, monster); Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); monster.OnHit_Vec(m_Damage, transform); monster.AddBuff(AiBuffType.MoveSpeed, SpeedBuffTime, SpeedBuffVal); } if (monster.CheckCanAddHittedEffect()) { GameObject effect = GetHittedEnemyEffect(); effect.transform.localPosition = Vector3.zero; effect.transform.SetParent(monster.GetBodyNode(), false); } m_IsInDelayDestroy = true; } }
private void OnTriggerEnter2D(Collider2D collision) { if (m_IsInDelayDestroy) { return; } if (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); if (Random.Range(0.0f, 1.0f) < BackRate) { monster.OnHit_Vec(m_Damage, transform); } else { monster.OnHit_Simple(m_Damage, transform); } AddHittedEffect(monster, true); if (ReduceSpeedTime > 0.0f) { monster.AddBuff(AiBuffType.MoveSpeed, ReduceSpeedTime, ReduceSpeed); } } }
private void OnTriggerEnter2D(Collider2D collision) { if (m_IsInDelayDestroy) { return; } GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MapTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); m_IsInDelayDestroy = true; AddHittedWallEffect(); DestroyAll(); } else if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); monster.AddBuff(AiBuffType.MoveSpeed, EffectTime, ReduceSpeed); if (!monster.InDeath && monster.CheckCanAddHittedEffect()) { Transform effectNode = monster.GetBodyNode().Find(GameConstVal.BubbleEffect); BubbleEffectNode bubbleEffectNode = null; if (effectNode != null) { bubbleEffectNode = effectNode.GetComponent <BubbleEffectNode>(); bubbleEffectNode.Restart(); } else { GameObject effect = GetHittedEnemyEffect(); if (effect != null) { bubbleEffectNode = effect.GetComponent <BubbleEffectNode>(); effect.name = GameConstVal.BubbleEffect; effect.transform.SetParent(monster.GetBodyNode(), false); effect.transform.localPosition = Vector3.zero;; effect.transform.localScale = new Vector3(1, 1, 1); } } if (bubbleEffectNode != null) { bubbleEffectNode.SetDamage(m_Damage * ExplodeDamageParam); } } m_IsInDelayDestroy = true; DestroyAll(); } else if (obj.CompareTag(GameConstVal.ShieldTag)) { m_IsInDelayDestroy = true; Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); collision.gameObject.GetComponent <AIShieldEvent>().AddHittedEffect(transform.position); DestroyAll(); } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Pos(m_Damage, transform); monster.AddBuff(AiBuffType.MoveSpeed, SpeedEffectTime, SpeedEffectVal); monster.AddBuff(AiBuffType.FireBuff, FireBuffTime, FireBuffDamageParam * m_Damage, FireBuffTime / FireDamageTimes); if (LinkBullet != null) { GameObject linkBullet = Instantiate(LinkBullet); linkBullet.GetComponent <ElecPopBullet>().Init(monster.gameObject, m_Damage); } AddHittedEnemyEffect(monster); AddExplodeEffect(monster); } else if (collision.gameObject.CompareTag(GameConstVal.MapTag)) { AddExplodeEffect(null); } }
private void OnHitted(Monster startMonster, Monster endMonster) { if (m_Damage > 0.1d) { GameObject effect = GetHittedEnemyEffect(); effect.transform.localPosition = Vector3.zero; effect.transform.SetParent(endMonster.GetBodyNode(), false); endMonster.OnHit_Vec(m_Damage, transform); endMonster.AddBuff(AiBuffType.MoveSpeed, SpeedBuffTime, SpeedBuffVal); GameObject mlinkEffect = Instantiate(LinkEffect); mlinkEffect.GetComponent <LinkTools>().Init(startMonster, endMonster); } m_Damage = m_Damage * Damping; }
private void OnTriggerEnter2D(Collider2D collision) { GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster, true); if (FireBuffDamageParam > 0 && FireBuffTime > 0) { monster.AddBuff(AiBuffType.FireBuff, FireBuffTime, FireBuffDamageParam * m_Damage, FireBuffTime / FireDamageTimes); } } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Pos(m_Damage, transform, true); if (FireBuffDamageParam > 0 && FireBuffTime > 0) { monster.AddBuff(AiBuffType.FireBuff, FireBuffTime, FireBuffDamageParam * m_Damage, FireBuffTime / FireDamageTimes); } AddHittedEnemyEffect(monster); AddExplodeEffectImp(monster); } else if (collision.gameObject.CompareTag(GameConstVal.MapTag)) { AddExplodeEffectImp(null); } }
private void OnTriggerEnter2D(Collider2D collision) { if (m_IsInDelayDestroy) { return; } GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MapTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); m_IsInDelayDestroy = true; gameObject.GetComponent <Collider2D>().enabled = false; //AddHittedWallEffect(); Destroy(gameObject); } else if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); monster.AddBuff(AiBuffType.MoveSpeed, EffectTime, ReduceSpeed); if (monster.CheckCanAddHittedEffect()) { GameObject effect = GetHittedEnemyEffect(); if (effect != null) { effect.transform.SetParent(monster.GetBodyNode(), false); effect.transform.position = monster.GetBodyNode().position; } } } else if (obj.CompareTag(GameConstVal.ShieldTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); collision.gameObject.GetComponent <AIShieldEvent>().AddHittedEffect(transform.position); m_IsInDelayDestroy = true; gameObject.GetComponent <Collider2D>().enabled = false; Destroy(gameObject); } }
private void OnTriggerEnter2D(Collider2D collision) { if (m_IsInDelayDestroy) { return; } GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MapTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); m_IsInDelayDestroy = true; gameObject.GetComponent <Collider2D>().enabled = false; AddExplodeBullet(transform.position, true); Destroy(gameObject); } else if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); if (!AddExplodeBullet(monster.transform.position)) { monster.OnHit_Vec(m_Damage, transform); if (FireBuffDamageParam > 0 && FireBuffTime > 0) { monster.AddBuff(AiBuffType.FireBuff, FireBuffTime, FireBuffDamageParam * m_Damage, FireBuffTime / FireDamageTimes); } } } else if (obj.CompareTag(GameConstVal.ShieldTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); collision.gameObject.GetComponent <AIShieldEvent>().AddHittedEffect(transform.position); m_IsInDelayDestroy = true; gameObject.GetComponent <Collider2D>().enabled = false; AddExplodeBullet(transform.position, true); Destroy(gameObject); } }
private void OnTriggerEnter2D(Collider2D collision) { GameObject obj = collision.gameObject; if (m_CanAtk) { if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Simple(m_Damage, transform); monster.AddBuff(AiBuffType.MoveSpeed, GetBackTime(), -1); } } else { if (obj.CompareTag(GameConstVal.MapTag) || obj.CompareTag(GameConstVal.ShieldTag)) { HorizontalSpeed = -HorizontalSpeed; HorizontalG = -HorizontalG; } } }