MCPcopy Create free account
hub / github.com/PCGEx/PCGExtendedToolkit / DeferredCallback

Function DeferredCallback

Source/PCGExtendedToolkit/Private/PCGExMT.cpp:620–638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

618 }
619
620 TSharedPtr<FDeferredCallbackHandle> DeferredCallback(FPCGExContext* InContext, FSimpleCallback&& InCallback)
621 {
622 TSharedPtr<FDeferredCallbackHandle> DeferredCallback = MakeShared<FDeferredCallbackHandle>();
623 DeferredCallback->Callback = InCallback;
624
625 TWeakPtr<FDeferredCallbackHandle> WeakTask = DeferredCallback;
626 UE::Tasks::Launch(
627 TEXT("DeferredCallback"),
628 [WeakTask]()
629 {
630 const TSharedPtr<FDeferredCallbackHandle> Task = WeakTask.Pin();
631 if (!Task.IsValid()) { return; }
632 if (Task->Start()) { Task->Complete(); }
633 },
634 UE::Tasks::ETaskPriority::Default
635 );
636
637 return DeferredCallback;
638 }
639
640 void CancelDeferredCallback(const TSharedPtr<FDeferredCallbackHandle>& InCallback)
641 {

Callers 1

Calls 5

LaunchFunction · 0.85
TEXTFunction · 0.85
IsValidMethod · 0.45
StartMethod · 0.45
CompleteMethod · 0.45

Tested by

no test coverage detected