void ChargedAttack()
    {
        float ChargedAttackDamage = 3 * Damage;

        MainCameraAnimator.SetTrigger("_Shake2");
        isChanneling = false;
        Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(DefaultAttackPosition.position,
                                                                  AttackRange * 1.5f, EnemyMask);
        foreach (var enemyCollider in enemiesToDamage)
        {
            foreach (var vulnerable in enemyCollider.GetComponents <UnitType.IVulnerable>())
            {
                vulnerable.TakeDamage(ChargedAttackDamage);
            }
            foreach (var knockbackable in enemyCollider.GetComponents <UnitType.IKnockBackAble>())
            {
                knockbackable.KnockBack(KnockBackPower, transform.position);
            }
        }
    }
    public override void DefaultAttack()
    {
        if (!isChanneling)
        {
            float DefaultKnockBack = KnockBackPower * 0.1f;
            animator.SetTrigger("_DefaultAttack");
            MainCameraAnimator.SetTrigger("_Shake");
            Collider2D[] enemiesToDamage = Physics2D.OverlapBoxAll(DefaultAttackPosition.position,
                                                                   new Vector2(AttackRange, AttackRange + (AttackRange / 2)), 0, EnemyMask);


            foreach (var enemyCollider in enemiesToDamage)
            {
                foreach (var vulnerable in enemyCollider.GetComponents <UnitType.IVulnerable>())
                {
                    vulnerable.TakeDamage(Damage);
                }
                foreach (var knockbackable in enemyCollider.GetComponents <UnitType.IKnockBackAble>())
                {
                    knockbackable.KnockBack(DefaultKnockBack, transform.position);
                }
            }
        }
    }