Game Dev/Unreal C++ : Dev Log
[언리얼] TimerHandle 배열 사용하기 (TimerHandle Array)
GoldGiver
2023. 3. 10. 20:47
TimerHandle 배열 사용하기 (TimerHandle Array)
핵심 :
1. TArray<FTimerHandle> 타입을 사용하면 된다.
2. 새로운 FTimerHandle 을 넣을 때는 Emplace 를 사용한다.
3. 객체가 파괴되거나 정리하는 시점에 ClearTimer 및 배열을 비워주는 작업을 해 주자.
설명할 것은 위의 3줄 요약에서 다 했으니, 코드만 보자.
// 선언
// 일정 시간 후 UTextBlock 본래 색상으로 돌아가게 만들때 사용하는 타이머핸들
TArray<FTimerHandle> timerHandleList;
// 구현
void UTestWidget::NativeConstruct()
{
for (int i = 0; i < 10; ++i)
{
FTimerHandle newTimerHandle;
timerHandleList.Emplace(newTimerHandle);
}
Super::NativeConstruct();
}
void UTestWidget::NativeDestruct()
{
for (FTimerHandle& handle : timerHandleList)
{
GetWorld()->GetTimerManager().ClearTimer(handle);
}
timerHandleList.Empty();
Super::NativeDestruct();
}
참고 : 언리얼 공식 문서