.h
FTimerHandle Skill2Timer;
float Skill2TimerAllCD;
float Skill2TimerCurrentCD;
void Fire();
void Skill2TimerCallback();
.cpp
void AGamePlayerController::Fire()
{
Character->GetWorldTimerHandle().SetTimer(Skill2Timer,this,&AGamePlayerController::Skill2TimerCallback,1.f,true);
Skill2TimerCurrentCD = Skill2TimerAllCD;
}
void AGamePlayerController::Skill2TimerCallback()
{
if (Skill2TimerCurrentCD == 0.0f)
{
SkillUserWidget->MsgText2->SetVisibility(ESlateVisibility::Hidden);
SoldierCharacter->GetWorldTimerManager().ClearTimer(Skill2Timer);
}
else
{
SkillUserWidget->MsgText2->SetVisibility(ESlateVisibility::Visible);
SkillUserWidget->MsgText2->SetText(FText::FromString(FString::FromInt(Skill2TimerCurrentCD)));
Skill2TimerCurrentCD--;
}
}