Хочу вызывать по таймеру функцию с параметрами, нашел такой способ, но смущает что он не описан в документации
Нормально ли так работать с таймерами?
FTimerDelegate TimerDel;
FTimerHandle TimerHandle;
int32 MyInt = 10;
float MyFloat = 20.f;
//Binding the function with specific values
TimerDel.BindUFunction(this, FName("MyUsefulFunction"), MyInt, MyFloat);
//Calling MyUsefulFunction after 5 seconds without looping
GetWorld()->GetTimerManager().SetTimer(TimerHandle, TimerDel, 5.f, false);
Всё довольно просто.
Для начала в Header'е нужно объявить FTimerHandle:
"FTimerHandle TimerHandleSampleName;"
Потом внутри нужного метода пишешь:
"GetWorld()->GetTimerManager().SetTimer(TimerHandleSampleName, this, &USampleObject::SampleFunctionToCallFromTimer, 3, false);"
Где "USampleObject::SampleFunctionToCallFromTimer" - это созданный метод в объекте (то есть функция, которая будет вызываться по таймеру)
Лучше всего BindUFunction избегать, а использовать динамическую привязку, как я написал выше