5#include "CoreMinimal.h"
6#include "Engine/DataAsset.h"
9#include "LevelStreamingEffect.generated.h"
38 void SetupEffects(
const TArray<ULevelStreamingEffect*>& AllEffects);
63 void Tick(
float DeltaTime);
93 TMap<ELevelStreamingPhase, TArray<ULevelStreamingEffect*>>
PhaseChains;
96 TArray<ULevelStreamingEffect*>
Chain;
143 return LastExecutionResult;
148 return bSkipThisEffect;
153 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"LevelLoadEffect")
154 bool bSkipThisEffect = false;
156 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "LevelLoadEffect")
ELevelStreamingEffectCallType
Definition ELevelStreamingEnums.h:41
ELevelStreamingEffectResult
Definition ELevelStreamingEnums.h:24
ELevelStreamingPhase
Definition ELevelStreamingEnums.h:7
static constexpr FGlobalUserSettingsRuntime None
Definition GlobalUserSettingsRuntime.cpp:6
Definition LevelStreamingEffect.h:121
FORCEINLINE bool IsSkipThisEffect() const
Definition LevelStreamingEffect.h:146
FORCEINLINE ELevelStreamingEffectResult GetLastExecutionResult() const
Definition LevelStreamingEffect.h:141
virtual void InitEffect()
Definition LevelStreamingEffect.h:126
virtual void OnCompletedEffectsByPhase(const ELevelStreamingPhase CompletedPhase)
Definition LevelStreamingEffect.h:130
레벨 스트리밍 이펙트 체인의 순차 실행을 담당합니다.
Definition LevelStreamingEffect.h:23
TFunction< void(ELevelStreamingPhase)> FOnChainCompleted
체인 완료 시 완료된 Phase를 인자로 호출되는 콜백 타입.
Definition LevelStreamingEffect.h:28
FContextFactory ContextFactory
매 틱마다 컨텍스트를 생성하는 팩토리 함수.
Definition LevelStreamingEffect.h:105
FOnChainCompleted OnCompleted
체인 완료 시 호출될 콜백.
Definition LevelStreamingEffect.h:108
TFunction< FLevelStreamingContext()> FContextFactory
매 틱마다 FLevelStreamingContext를 생성하는 팩토리 타입.
Definition LevelStreamingEffect.h:25
bool bActive
체인 실행 중 여부.
Definition LevelStreamingEffect.h:111
void Tick(float DeltaTime)
현재 이펙트를 틱합니다. 완료 시 End 이벤트를 호출하고 다음 이펙트로 진행합니다.
Definition LevelStreamingEffect.cpp:71
bool bDebugMode
디버그 로그 출력 여부.
Definition LevelStreamingEffect.h:114
int32 GetChainIndex() const
현재 ChainIndex를 반환합니다.
Definition LevelStreamingEffect.h:78
void Start(ELevelStreamingPhase InPhase, FContextFactory InContextFactory, FOnChainCompleted InOnCompleted, bool bInDebugMode=false)
이펙트 체인 실행을 시작합니다.
Definition LevelStreamingEffect.cpp:49
bool IsActive() const
체인이 현재 실행 중인지 여부를 반환합니다.
Definition LevelStreamingEffect.h:66
TArray< ULevelStreamingEffect * > Chain
현재 실행 중인 이펙트 목록. Start 시 PhaseChains에서 복사됩니다.
Definition LevelStreamingEffect.h:96
TMap< ELevelStreamingPhase, TArray< ULevelStreamingEffect * > > PhaseChains
Phase별로 분류된 이펙트 체인 맵. SetupEffects 호출 시 구성됩니다.
Definition LevelStreamingEffect.h:93
void Process()
다음 실행 대상 이펙트를 결정하고 Start 이벤트를 호출하거나 완료 처리합니다.
Definition LevelStreamingEffect.cpp:95
ELevelStreamingPhase GetPhase() const
현재 Phase를 반환합니다.
Definition LevelStreamingEffect.h:72
void SetupEffects(const TArray< ULevelStreamingEffect * > &AllEffects)
이펙트 목록을 Phase별로 분류해 내부 체인 맵을 구성합니다.
Definition LevelStreamingEffect.cpp:9
int32 ChainIndex
현재 실행 중인 이펙트의 인덱스.
Definition LevelStreamingEffect.h:99
ELevelStreamingPhase Phase
현재 Phase.
Definition LevelStreamingEffect.h:102
void ClearEffects()
내부 Phase 체인 맵과 현재 실행 체인을 모두 초기화합니다.
Definition LevelStreamingEffect.cpp:42
Definition LevelStreamingContext.h:16