コード例 #1
0
ファイル: AiElePitBullet.cs プロジェクト: howelllucas/Project
 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);
             }
         }
     }
 }
コード例 #2
0
ファイル: ElecBullet.cs プロジェクト: howelllucas/Project
 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;
     }
 }
コード例 #3
0
ファイル: AwpBullet.cs プロジェクト: howelllucas/Project
        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);
                }
            }
        }
コード例 #4
0
        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();
            }
        }
コード例 #5
0
 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);
     }
 }
コード例 #6
0
ファイル: ElecPopBullet.cs プロジェクト: howelllucas/Project
        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;
        }
コード例 #7
0
ファイル: ShotBullet.cs プロジェクト: howelllucas/Project
        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);
                }
            }
        }
コード例 #8
0
 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);
     }
 }
コード例 #9
0
        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);
            }
        }
コード例 #10
0
        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);
            }
        }
コード例 #11
0
        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;
                }
            }
        }