Exemplo n.º 1
0
 private void AddHittedEnemyEffect(Monster monster)
 {
     if (monster.CheckCanAddHittedEffect())
     {
         GameObject effect = GetHittedEnemyEffect();
         if (effect != null)
         {
             effect.transform.SetParent(monster.GetBodyNode(), false);
             effect.transform.position = monster.GetBodyNode().position;
         }
     }
 }
Exemplo n.º 2
0
 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;
         }
     }
 }
Exemplo n.º 3
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.CompareTag(GameConstVal.MonsterTag))
     {
         Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip);
         Monster monster = collision.gameObject.GetComponent <Monster>();
         monster.OnHit_Simple(m_Damage, transform);
         if (monster.CheckCanAddHittedEffect())
         {
             GameObject effect = GetHittedEnemyEffect();
             effect.transform.SetParent(monster.transform, false);
             effect.transform.position = monster.transform.position;
         }
     }
 }
Exemplo n.º 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();
                //Recycle();
            }
            else if (obj.CompareTag(GameConstVal.MonsterTag))
            {
                //m_IsInDelayDestroy = true;
                Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip);
                Monster monster = collision.gameObject.GetComponent <Monster>();
                monster.OnHit_Up(m_Damage, transform);
                if (LinkBullet != null)
                {
                    GameObject linkBullet = Instantiate(LinkBullet);
                    linkBullet.GetComponent <ElecPopBullet>().Init(monster.gameObject, m_Damage);
                }
                if (monster.CheckCanAddHittedEffect())
                {
                    GameObject effect = GetHittedEnemyEffect();
                    if (effect != null)
                    {
                        effect.transform.SetParent(monster.GetBodyNode(), false);
                        effect.transform.position = monster.GetBodyNode().position;
                    }
                }
                //Recycle();
            }
            //else if (obj.CompareTag(GameConstVal.ShieldTag))
            //{
            //    m_IsInDelayDestroy = true;
            //    Global.gApp.gAudioSource.PlayOneShot(HittedEnemyClip);
            //    collision.gameObject.GetComponent<AIShieldEvent>().AddHittedEffect(transform.position);
            //    //Recycle();
            //}
        }
Exemplo n.º 5
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);
            }
        }
Exemplo n.º 6
0
 protected void AddHittedEffect(Monster monster, bool forceToEmeny = false, bool forceToBullet = false)
 {
     if (forceToBullet)
     {
         GameObject effect = GetHittedEnemyEffect();
         if (effect != null)
         {
             if (m_BulletEffect != null)
             {
                 effect.transform.position = m_BulletEffect.transform.position;
             }
             else
             {
                 effect.transform.position = transform.position;
             }
         }
     }
     else if (monster.CheckCanAddHittedEffect())
     {
         GameObject effect = GetHittedEnemyEffect();
         if (effect != null)
         {
             if (m_BulletEffect != null && !forceToEmeny)
             {
                 effect.transform.position = m_BulletEffect.transform.position;
             }
             else if (monster != null)
             {
                 effect.transform.position = monster.GetBodyNode().position;
             }
             else
             {
                 effect.transform.position = transform.position;
             }
         }
     }
 }