5#include "CoreMinimal.h"
35 void SetupEffects(
const TArray<ULevelStreamingEffect*>& AllEffects);
60 void Tick(
float DeltaTime);
108 TMap<ELevelStreamingPhase, TArray<ULevelStreamingEffect*>>
PhaseChains;
111 TArray<ULevelStreamingEffect*>
Chain;
ELevelStreamingEffectCallType
Definition CK_ELevelType.h:39
ELevelStreamingEffectResult
Definition CK_ELevelType.h:22
ELevelStreamingPhase
Definition CK_ELevelType.h:5
Definition LevelStreamingEffect.h:18
레벨 스트리밍 이펙트 체인의 순차 실행을 담당합니다.
Definition EffectChainExecutor.h:20
TFunction< void(ELevelStreamingPhase)> FOnChainCompleted
체인 완료 시 완료된 Phase를 인자로 호출되는 콜백 타입.
Definition EffectChainExecutor.h:25
FContextFactory ContextFactory
매 틱마다 컨텍스트를 생성하는 팩토리 함수.
Definition EffectChainExecutor.h:120
void DispatchEvent(ULevelStreamingEffect *Effect, ELevelStreamingEffectCallType CallType, const FLevelStreamingContext &Context) const
Phase에 맞는 인터페이스로 Start 또는 End 이벤트를 디스패치합니다.
Definition EffectChainExecutor.cpp:167
FOnChainCompleted OnCompleted
체인 완료 시 호출될 콜백.
Definition EffectChainExecutor.h:123
TFunction< FLevelStreamingContext()> FContextFactory
매 틱마다 FLevelStreamingContext를 생성하는 팩토리 타입.
Definition EffectChainExecutor.h:22
bool bActive
체인 실행 중 여부.
Definition EffectChainExecutor.h:126
void Tick(float DeltaTime)
현재 이펙트를 틱합니다. 완료 시 End 이벤트를 호출하고 다음 이펙트로 진행합니다.
Definition EffectChainExecutor.cpp:73
bool bDebugMode
디버그 로그 출력 여부.
Definition EffectChainExecutor.h:129
int32 GetChainIndex() const
현재 ChainIndex를 반환합니다.
Definition EffectChainExecutor.h:75
void Start(ELevelStreamingPhase InPhase, FContextFactory InContextFactory, FOnChainCompleted InOnCompleted, bool bInDebugMode=false)
이펙트 체인 실행을 시작합니다.
Definition EffectChainExecutor.cpp:53
bool IsActive() const
체인이 현재 실행 중인지 여부를 반환합니다.
Definition EffectChainExecutor.h:63
TArray< ULevelStreamingEffect * > Chain
현재 실행 중인 이펙트 목록. Start 시 PhaseChains에서 복사됩니다.
Definition EffectChainExecutor.h:111
TMap< ELevelStreamingPhase, TArray< ULevelStreamingEffect * > > PhaseChains
Phase별로 분류된 이펙트 체인 맵. SetupEffects 호출 시 구성됩니다.
Definition EffectChainExecutor.h:108
void Process()
다음 실행 대상 이펙트를 결정하고 Start 이벤트를 호출하거나 완료 처리합니다.
Definition EffectChainExecutor.cpp:95
ELevelStreamingPhase GetPhase() const
현재 Phase를 반환합니다.
Definition EffectChainExecutor.h:69
void SetupEffects(const TArray< ULevelStreamingEffect * > &AllEffects)
이펙트 목록을 Phase별로 분류해 내부 체인 맵을 구성합니다.
Definition EffectChainExecutor.cpp:13
int32 ChainIndex
현재 실행 중인 이펙트의 인덱스.
Definition EffectChainExecutor.h:114
ELevelStreamingPhase Phase
현재 Phase.
Definition EffectChainExecutor.h:117
void ClearEffects()
내부 Phase 체인 맵과 현재 실행 체인을 모두 초기화합니다.
Definition EffectChainExecutor.cpp:46
ELevelStreamingEffectResult DispatchUpdate(ULevelStreamingEffect *Effect, const FLevelStreamingContext &Context) const
Phase에 맞는 인터페이스로 Update를 디스패치하고 결과를 반환합니다.
Definition EffectChainExecutor.cpp:140
Definition LevelStreamingContext.h:10