24{
25 SCOPED_BOOT_TIMING("FDataAssetJobManager::RunAllJobs");
26 const double AllStartupJobsStartTime = FPlatformTime::Seconds();
27
29 {
33 return;
34 }
35
36 float TotalJobValue = 0.0f;
37
39 {
40 TotalJobValue += StartupJob.JobWeight;
41 }
42
43 float AccumulatedJobValue = 0.0f;
44
46 {
47 const float JobValue = StartupJob.JobWeight;
48
49 StartupJob.SubstepProgressDelegate.BindLambda([this, AccumulatedJobValue, JobValue, TotalJobValue, &Progress](const float NewProcess)
50 {
51 const float SubstepAdjustment = FMath::Clamp(NewProcess, 0.0f, 1.0f) * JobValue;
53 });
54
55 StartupJob.DoJob();
56 StartupJob.SubstepProgressDelegate.Unbind();
57
58 AccumulatedJobValue += JobValue;
60 }
61
64}
#define CALL_DELEGATE_IF_BOUND(Delegate,...)
Definition DataAssetJobManager.cpp:4
#define CALL_FUNCTION_IF_BOUND(Delegate,...)
Definition DataAssetJobManager.cpp:5