Exemplo n.º 1
0
    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);
        }
    }