#include <StageEventProcessorGroup.h>
◆ FindProcessorByClass() [1/2]
template<typename T >
| T * UStageEventProcessorGroup::FindProcessorByClass |
( |
| ) |
const |
|
inline |
48 {
49 static_assert(TIsDerivedFrom<T, UStageEventProcessor>::Value, "T must derive from UStageEventProcessor.");
51 }
T * FindProcessorByClass() const
Definition StageEventProcessorGroup.h:47
◆ FindProcessorByClass() [2/2]
66{
67 if (ProcessorClass ==
nullptr ||
Processors.IsEmpty())
return nullptr;
68
69 auto MatchClass = [&](const TObjectPtr<UStageEventProcessor>& P)
70 {
71 return P && P->IsA(ProcessorClass);
72 };
73
74 const TObjectPtr<UStageEventProcessor>* Found =
Processors.FindByPredicate(MatchClass);
75 return Found ? Found->Get() : nullptr;
76}
TArray< TObjectPtr< UStageEventProcessor > > Processors
Definition StageEventProcessorGroup.h:60
◆ FindProcessorByID() [1/2]
| UStageEventProcessor * UStageEventProcessorGroup::FindProcessorByID |
( |
const FName |
ProcessorID | ) |
const |
43{
44 if (ProcessorID.IsNone())
45 {
46 return nullptr;
47 }
48
49 auto MatchID = [&](const TObjectPtr<UStageEventProcessor>& P)
50 {
51 return P && P->ProcessorID == ProcessorID;
52 };
53
54 if (
const TObjectPtr<UStageEventProcessor>* Found =
Processors.FindByPredicate(MatchID))
55 {
56 return Found->Get();
57 }
58 else
59 {
60 return nullptr;
61 }
62}
◆ FindProcessorByID() [2/2]
template<typename T >
| T * UStageEventProcessorGroup::FindProcessorByID |
( |
const FName |
ProcessorID | ) |
const |
|
inline |
41 {
42 static_assert(TIsDerivedFrom<T, UStageEventProcessor>::Value, "T must derive from UStageEventProcessor.");
44 }
UStageEventProcessor * FindProcessorByID(const FName ProcessorID) const
Definition StageEventProcessorGroup.cpp:42
◆ GetProcessors()
| FORCEINLINE const TArray< TObjectPtr< UStageEventProcessor > > & UStageEventProcessorGroup::GetProcessors |
( |
| ) |
const |
|
inline |
◆ IsEmpty()
| bool UStageEventProcessorGroup::IsEmpty |
( |
| ) |
const |
◆ Num()
| int32 UStageEventProcessorGroup::Num |
( |
| ) |
const |
80{
81 auto IsValid = [](const TObjectPtr<UStageEventProcessor>& P)
82 {
83 return P != nullptr;
84 };
85
87}
◆ Process()
18{
19 for (
const TObjectPtr<UStageEventProcessor>& Processor :
Processors)
20 {
21 if (Processor == nullptr)
22 {
23 LOG_ERROR(LogCKLevel,
"EventID '%s' 의 ProcessorGroup 에 빈 슬롯이 있습니다.", *EventID.ToString());
24 continue;
25 }
26
28 (
29 FColor::Cyan,
30 "[StageEvent] %-9s EventID = %-16s ProcessorID = %-20s Processor = %s",
31 TEXT("Processor"),
32 *EventID.ToString(),
33 *(Processor->ProcessorID.IsNone() ? TEXT("None") : Processor->ProcessorID.ToString()),
34 *Processor->GetName()
35 );
36
37 Processor->Process(StageManagement, EventID, Caller, InteractableActor, Context);
38 }
39}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define LOG_SCREEN_C(Color, Format,...)
Definition CK_UE.h:49
◆ Processors
이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: