public void ProjFire()
    {
        if (_currentProjectile)
        {
            _currentProjectile.Fire();

            _animator.SetTrigger("Fire");


            StopChargingSound();
            SoundManager.instance.PlaySound(SoundManager.instance.auraProjectileFire, SoundManager.instance.SoundSource, true);

            // dialogue triggering
            if (_shouldSpeak)
            {
                //_shouldSpeak = false;
                SoundManager.instance.PlayAuraDialogue(SoundManager.instance.AuraVoiceSource, SoundManager.AuraDialogueEvent.Fire, ref SoundManager.instance.auraProjectileDialogueArrayIndex, false);
                //StartCoroutine(DialogueCooldown());
            }

            if (_useCoolDown)
            {
                if (_coolDownTime < _baseCoolDownTime)
                {
                    _coolDownTime = _baseCoolDownTime;
                }

                // if (_coolDown)
                //     _coolDown.StartCoolDown(_coolDownTime);
                /** Start the cool down for the projectile */
                _onPlayerHUD.StartProjectileCoolDown(_coolDownTime);

                StopAllCoroutines();
                StartCoroutine(CoolDown());
            }
            else
            {
                _projSpawned = false;
            }

            if (!_CB.IsCrouching)
            {
                _animator.SetBool("Crouching", false);
            }

            _animator.SetBool("isCharging", false);
        }

        SetComponentsActive(true);
        _currentProjectile = null;
    }