Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
FDataAssetLoadJob 구조체 참조

#include <DataAssetLoadJob.h>

FDataAssetLoadJob에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

 FDataAssetLoadJob (const FString &InJobName, float InJobWeight, const TFunction< void(const FDataAssetLoadJob &, TSharedPtr< FStreamableHandle > &)> &InJobFunc)
 
TSharedPtr< FStreamableHandle > DoJob () const
 
void UpdateSubstepProgress (float NewProgress) const
 
void UpdateSubstepProgressFromStreamable (TSharedRef< FStreamableHandle > StreamableHandle) const
 

Public 속성

FString JobName
 
float JobWeight
 
double LastUpdate = 0
 
TFunction< void(const FDataAssetLoadJob &, TSharedPtr< FStreamableHandle > &)> JobFunc
 
DataAssetLoadJobProgress SubstepProgressDelegate
 

생성자 & 소멸자 문서화

◆ FDataAssetLoadJob()

FDataAssetLoadJob::FDataAssetLoadJob ( const FString &  InJobName,
float  InJobWeight,
const TFunction< void(const FDataAssetLoadJob &, TSharedPtr< FStreamableHandle > &)> &  InJobFunc 
)
inline
10 : JobName(InJobName),
11 JobWeight(InJobWeight),
12 JobFunc(InJobFunc) { }
float JobWeight
Definition DataAssetLoadJob.h:21
TFunction< void(const FDataAssetLoadJob &, TSharedPtr< FStreamableHandle > &)> JobFunc
Definition DataAssetLoadJob.h:25
FString JobName
Definition DataAssetLoadJob.h:20

멤버 함수 문서화

◆ DoJob()

TSharedPtr< FStreamableHandle > FDataAssetLoadJob::DoJob ( ) const
7{
8 const double JobStartTime = FPlatformTime::Seconds();
9 TSharedPtr<FStreamableHandle> Handle;
10
11 UE_LOG(LogCKAsset, Display, TEXT("Startup job \"%s\" starting"), *JobName);
12 JobFunc(*this, Handle);
13
14 if (Handle.IsValid())
15 {
16 Handle->BindUpdateDelegate(FStreamableUpdateDelegate::CreateRaw(this, &FDataAssetLoadJob::UpdateSubstepProgressFromStreamable));
17 Handle->WaitUntilComplete(0.0f, false);
18 Handle->BindUpdateDelegate(FStreamableUpdateDelegate());
19 }
20
21 UE_LOG(LogCKAsset, Display, TEXT("Startup job \"%s\" took %.2f seconds to complete"), *JobName, FPlatformTime::Seconds() - JobStartTime);
22 return Handle;
23}
void UpdateSubstepProgressFromStreamable(TSharedRef< FStreamableHandle > StreamableHandle) const
Definition DataAssetLoadJob.cpp:32
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ UpdateSubstepProgress()

void FDataAssetLoadJob::UpdateSubstepProgress ( float  NewProgress) const
inline
27{
28 SubstepProgressDelegate.ExecuteIfBound(NewProgress);
29}
DataAssetLoadJobProgress SubstepProgressDelegate
Definition DataAssetLoadJob.h:26

◆ UpdateSubstepProgressFromStreamable()

void FDataAssetLoadJob::UpdateSubstepProgressFromStreamable ( TSharedRef< FStreamableHandle >  StreamableHandle) const
33{
34 if (SubstepProgressDelegate.IsBound() == false)
35 {
36 return;
37 }
38
39 const double Now = FPlatformTime::Seconds();
40 constexpr double Tick = 1.0 / 60;
41
42 if (LastUpdate - Now > Tick)
43 {
44 LastUpdate = Now;
45 SubstepProgressDelegate.Execute(StreamableHandle->GetProgress());
46 }
47}
double LastUpdate
Definition DataAssetLoadJob.h:22
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ JobFunc

TFunction<void(const FDataAssetLoadJob&, TSharedPtr<FStreamableHandle>&)> FDataAssetLoadJob::JobFunc

◆ JobName

FString FDataAssetLoadJob::JobName

◆ JobWeight

float FDataAssetLoadJob::JobWeight

◆ LastUpdate

double FDataAssetLoadJob::LastUpdate = 0
mutable

◆ SubstepProgressDelegate

DataAssetLoadJobProgress FDataAssetLoadJob::SubstepProgressDelegate

이 구조체에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: