protected void UpdateNotCasting(PlayerAttacks source) { _cooldownTimer -= Time.deltaTime; if (_charges < _maxCharges && _cooldownTimer < 0.0f) { ++_charges; _cooldownTimer += _cooldown; } if (_wasCanceled) { _cancelCooldownTimer += Time.deltaTime; if (_cancelCooldownTimer > _cancelCooldown) { _cancelCooldownTimer = 0f; _wasCanceled = false; source.AnimateCurrentAttackCooldown(1f, 0f); } else { source.AnimateCurrentAttackCooldown(_cancelCooldownTimer / _cancelCooldown, _cancelCooldown - _cancelCooldownTimer); } } else if (_charges < _maxCharges) { source.AnimateCurrentAttackCooldown((_cooldown - _cooldownTimer) / _cooldown, _cooldownTimer); } else { source.AnimateCurrentAttackCooldown(1f, 0f); } }