public override void Attack(GuardAbs guardObj)
    {
        enemyAbs = guardObj.gameObject.GetComponent <GuardAbs>();
        if (guardObj.gameObject.layer == Layers.CHARACTER && enemyAbs != null)
        {
            if (enemyAbs.getGuardLevel() <= ATTACKLEVEL)
            {
                gunnerEnemy = guardObj.gameObject.GetComponent <GunnerAttack>();
                if (gunnerEnemy != null)
                {
                    try
                    {
                        enemyAbs.TryDestroy(myAbs);
                        myAbs.TryDestroy(myAbs);
                        UnityEventCenter.SendMessage <AudioEvent>(new AudioEvent(gameObject, clip));
                    }
                    catch
                    {
                        guardObj.SendMessage(GameobjBase.TryDestroyFUNC);
                        gameObject.SendMessage(GameobjBase.TryDestroyFUNC);

                        //Destroy(guardObj.gameObject);
                        //Destroy(this.gameObject);
                    }
                }
                else
                {
                    try
                    {
                        enemyAbs.TryDestroy(myAbs);
                        UnityEventCenter.SendMessage <AudioEvent>(new AudioEvent(gameObject, clip));
                    }
                    catch
                    {
                        guardObj.gameObject.SendMessage(GameobjBase.TryDestroyFUNC);

                        //Destroy(guardObj.gameObject);
                    }
                    finally
                    {
                        bulletCount--;
                        if (bulletCount == 0)
                        {
                            myAbs.TryDestroy(myAbs);
                        }
                    }
                }
            }
        }
    }