public void TriggerWithdrawBT()
        {
            if (!_BTOverloadTimer.IsReachedTime())
            {
                _BTOverloadTimer.Start(_BTOverloadCooldown, ClearBTTriggeredTimes);
                return;
            }

            if (_BTTriggeredTimes >= _maxBTRetriggerTimes &&
                _isInsideBulletTime)
            {
                print("Overload");
                _BTOverloadTimer.Start(_BTOverloadCooldown, ClearBTTriggeredTimes);
                OnTriggerBulletTimeFailed?.Invoke();
                return;
            }

            if (_isInsideBulletTime &&
                _lastBTTrigger == BTTriggeringType.Withdraw)
            {
                _BTTriggeredTimes++;
            }

            _lastBTTrigger = _BTTrigger;

            TimeManager.Instance.ActivateBulletTime();
        }
        public void TriggerDashBT()
        {
            _lastBTTrigger = _BTTrigger;

            TimeManager.Instance.ActivateBulletTime();
        }
 public void StartWithdrawBTWindow()
 {
     _BTTrigger = BTTriggeringType.Withdraw;
     _BTWindowTimer.Start(_withdrawBTTriggerWindow);
 }
 public void StartDashBTWindow()
 {
     _BTTrigger = BTTriggeringType.Dash;
     _BTWindowTimer.Start(_dashBTTriggerWindow);
 }