private void OnTriggerEnter(Collider other) { //Init() 메소드 호출 전일시 충돌을 모두 무시한다. if (!isActive) { return; } //충돌체가 공격 대상이고, 아직 공격하지 않았어야 함 if (attackInfo.TargetTag.Equals(other.tag) && !hitSet.Contains(other.gameObject)) { hitSet.Add(other.gameObject); var hitscript = GameManager.Instance.Units[other.gameObject.name]; var hitInfo = hitscript.HitbyAttack(attackInfo, transform.position); //적용된 데미지가 0 초과일시 데미지 프린트 if (hitInfo.Damage > 0.0f) { //데미지 이펙트 GameManager.Instance.UI.PrintDamage(hitInfo.Damage, hitscript.transform.position); } //공격 성공 메소드 있을시 수행 if (attackInfo.AttackSuccess != null) { attackInfo.AttackSuccess(hitInfo); } //최대 타격수 만족시 파괴 if (++hitCount >= attackInfo.EnableHitCount) { DestoryThis(); } } else if (IsHitWallOrFloor(other.tag)) { DestoryThis(); } }