지금 구르기 회피 동작 구현중인데

void UCMovementComponent::Tumbling()

{

EnableControlRotation();

CheckFalse(bCanEvade);

    float ForwardValue = OwnerCharacter->InputComponent->GetAxisValue("MoveForward");

    float RightValue = OwnerCharacter->InputComponent->GetAxisValue("MoveRight");


    if (ForwardValue != 0.0f || RightValue != 0.0f)

    {

        if (ForwardValue > 0.0f)

        {

            OwnerCharacter->PlayAnimMontage(EvadeMontage_F, EvadeMontage_PlayRate);

        }

        else if (ForwardValue < 0.0f)

        {

            OwnerCharacter->PlayAnimMontage(EvadeMontage_B, EvadeMontage_PlayRate);

        }

        else if (RightValue > 0.0f)

        {

            OwnerCharacter->PlayAnimMontage(EvadeMontage_R, EvadeMontage_PlayRate);

        }

        else if (RightValue < 0.0f)

        {

            OwnerCharacter->PlayAnimMontage(EvadeMontage_L, EvadeMontage_PlayRate);

        }


        bCanEvade = false;


        GetWorld()->GetTimerManager().SetTimer(

            EvadeCooldownTimer,

            this,

            &UCMovementComponent::ResetEvadeCooldown,

            1.0f,

            false

        );

    }

}


void UCMovementComponent::ResetEvadeCooldown()

{

bCanEvade = true;

}

여기서 키를 입력 받으면 구르고 1초 딜레이하고 다시 풀리게 하고 싶은데 타이머가 걸려있는중에 키를 또 입력하면 아예 구르기가 안되는데 어떻게 해야할까요...