midas+son의 크리에이티브(creative) 이야기

FTimerHandle timerHandle;

GetWorldTimerManager().SetTimer(timerHandle, this, &AController::Service, 0.1f, true);

위의 코드는 유일하게 하나의 함수를 Tick()과 다른 타임라인으로 지정된 시간 마다 호출 할 수 있다.

다른 곳에서 또 사용하면 이전에 썼던 SetTimer의 설정은 덮여씌워져 사라진다.


Actor내에서는 GetWorldTimerManager()를 부를 수 있는데

FTimerHandle 변수를 생성하여 SetTimer함수의 첫 인자값으로 넣고

2번째는 사용할 클래스(보통 this를 넣는다.)

3번째 인자에 함수의 주소를 넣는다.(AController 클래스의 Service()함수의 주소 => &AController::Service)

4번째 인자는 반복될 시간이다.

5번째 인자는 Loop할건지 안할건지 bool값을 넣는다. 안넣으면 기본 false다.

6번째 인자도 있는데 처음 호출할 때의 딜레이를 지정할 수 있다.