public void onWeaponTouch(int colliderType, IHitable target)
    {
        if (attackedColliders.Contains(target))
        {
            return;
        }
        var hitable = target.GetComponent <IHitable>();
        var fsm     = target.GetComponent <FSMbase>();

        if (hitable != null)
        {
            AttackManager.GetInstance().HandleAttack(attackHandle, hitable, player, Damages[tempAtkCount], false, true);
            attackedColliders.Add(target);
        }
        if (fsm != null)
        {                                                             //!TODO 한 공격에 한번만 맞게 할 것
            List <IHitable> alreadyHitTarget = new List <IHitable>(); //타격된 저장용
            alreadyHitTarget.Add(target.GetComponent <IHitable>());

            for (int i = 0; i < attackConnectCount; i++)
            {
                IHitable[] targetList = AttackManager.GetInstance().GetTargetList(alreadyHitTarget.Last().transform.position, 10, 1 << 10, alreadyHitTarget);
                if (targetList.Length < 1)
                {
                    break;
                }
                alreadyHitTarget.Add(targetList[0]);
            }
            for (int i = 1; i < alreadyHitTarget.Count; i++)
            {
                AttackManager.GetInstance().HandleAttack(attackHandle, alreadyHitTarget[i].GetComponent <FSMbase>(), player, Damages[tempAtkCount], false, true);

                attackedColliders.Add(alreadyHitTarget[i]);
            }
        }
    }