private void AttemptAttack()
    {
        if (isGun)
        {
            Gun gun = (Gun)currentWeapon;
            if (playerMovement.isRunning) // 打断奔跑状态
            {
                playerMovement.isRunning = false;
                gun.AfterCanFire(0.3f);
                return;
            }

            if (gun.BulletCountInClip <= 0) // 若没有子弹,则装子弹
            {
                if (!reloading)
                {
                    ReloadGun();
                }
                return;
            }
        }

        attemptAttack = true;
        animator.SetBool(AnimParamAiming, true);
        StartCoroutine(DelaySetAttemptAttackFalse());

        Attack();
    }