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(); Recycle(); } else if (obj.CompareTag(GameConstVal.MonsterTag)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster); if (BulletType == NormalBulletTriggerType.Normal) { m_IsInDelayDestroy = true; Recycle(); } } else if (obj.CompareTag(GameConstVal.ShieldTag)) { m_IsInDelayDestroy = true; Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); collision.gameObject.GetComponent <AIShieldEvent>().AddHittedEffect(transform.position); Recycle(); } }
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 effect = Instantiate(HitEffect); effect.transform.position = transform.position; Destroy(effect, 0.5f); Destroy(gameObject); } else if (obj.CompareTag(GameConstVal.MonsterTag)) { m_IsInDelayDestroy = true; Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); GameObject effect = Instantiate(HitEffect); effect.transform.position = monster.transform.position; Destroy(effect, 0.5f); Destroy(gameObject); } }
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; } if (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster, true); if (m_ExplodeObj != null && monster.InDeath) { var obj = Instantiate(m_ExplodeObj); //Transform explodeTsf = transform.parent.Find("ExplodeCollision"); RocketExplode rocketExplode = obj.GetComponent <RocketExplode>(); if (rocketExplode != null) { rocketExplode.SetDamage(m_Damage); obj.transform.position = monster.transform.position; obj.transform.gameObject.SetActive(true); } } } }
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 (collision.gameObject.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); } }
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)) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster, true); } }
private void OnTriggerEnter2D(Collider2D collision) { GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MonsterTag)) { Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster); } }
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 (m_IsInDelayDestroy) { return; } GameObject obj = collision.gameObject; if (obj.CompareTag(GameConstVal.MonsterTag)) { PlayCloseAnim(); Monster monster = collision.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); AddHittedEffect(monster); } }
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); } }
public override void Init(double damage, Transform firePoint, float dtAngleZ, float offset, float atkRange) { InitBulletPose(damage, firePoint, dtAngleZ, offset); Vector3 direction = transform.right; //射线方向 float distance = m_Length; //射线检测距离 Vector3 newPosition = transform.position; int mask = GameConstVal.LasserMask; RaycastHit2D hit = Physics2D.Raycast(newPosition, direction, distance, mask);//发射射线,只检测与"Target"层的碰撞 if (hit.collider != null) { Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip); if (hit.collider.gameObject.CompareTag(GameConstVal.MonsterTag)) { Vector2 hitPoint1 = hit.point; Vector2 hitPoint = hit.collider.gameObject.transform.position; float newDis = Vector2.Distance(new Vector2(newPosition.x, newPosition.y), hitPoint); float scaleX = Mathf.Max(0.1f, newDis / m_BaseLength); transform.localScale = new Vector3(scaleX, 1, 1); GameObject effect = GetHittedEnemyEffect(); effect.transform.SetParent(hit.collider.gameObject.transform, false); effect.transform.position = new Vector3(hitPoint.x, hitPoint.y, firePoint.position.z); Monster monster = hit.collider.gameObject.gameObject.GetComponent <Monster>(); monster.OnHit_Vec(m_Damage, transform); } else { Vector2 hitPoint = hit.point; float newDis = Vector2.Distance(new Vector2(newPosition.x, newPosition.y), hitPoint) + 0.2f; float scaleX = Mathf.Max(0.1f, newDis / m_BaseLength); transform.localScale = new Vector3(scaleX, 1, 1); OnHittedWall(new Vector3(hitPoint.x, hitPoint.y, firePoint.position.z)); } } else { transform.localScale = new Vector3(m_Length / m_BaseLength, 1, 1); } }
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_Vec(m_Damage, transform); AddHittedEffect(monster, true); } } else { if (obj.CompareTag(GameConstVal.MapTag) || obj.CompareTag(GameConstVal.ShieldTag)) { HorizontalSpeed = -HorizontalSpeed; HorizontalG = -HorizontalG; } } }