40{
42 {
43 return;
44 }
45
46 UStageManifest* Manifest = UDataBundleRegistry::GetBundleAssetByTag<UStageManifest>(TAG_BUNDLE_INITIAL);
47
48 if (ensureMsgf(Manifest, TEXT("EncounterField: UStageManifest를 번들에서 찾을 수 없습니다.")) == false)
49 {
50 return;
51 }
52
54
55 if (ensureMsgf(StageManager, TEXT("EncounterField: UStageManagementSubsystem이 없습니다.")) == false)
56 {
57 return;
58 }
59
61
63
65 {
67 return;
68 }
69
71
72 if (FirstWave == nullptr)
73 {
74 LOG_ERROR(LogCKLevel,
"EncounterField: 섹션 '%s'의 첫 번째 웨이브를 찾을 수 없습니다.", *
SectionID.ToString());
75 return;
76 }
77
79
80 if (ensureMsgf(
CurrentWaveID.IsValid(), TEXT(
"EncounterField: 섹션 '%s'의 첫 번째 웨이브를 찾을 수 없습니다."), *
SectionID.ToString()) ==
false)
81 {
82 return;
83 }
84
86
87 if (StartWave == nullptr)
88 {
90 return;
91 }
92
94
95 if (ensureMsgf(SpawnHub, TEXT("EncounterField: SpawnHub를 생성하지 못했습니다.")) == false)
96 {
97 return;
98 }
99
101
102 if (ensureMsgf(
EnemySpawnSystem, TEXT(
"EncounterField: SpawnHub에서 EnemySpawnSystem을 가져오지 못했습니다.")) ==
false)
103 {
104 return;
105 }
106
110
111
112 TArray<UEnemySpawnerComponent*> SpawnAreas;
113 GetComponents<UEnemySpawnerComponent>(SpawnAreas);
114
115 Algo::NullSafeForEach(SpawnAreas, [this](UEnemySpawnerComponent* Area)
116 {
118 });
119
123
124 if (StageManager)
125 {
127 }
128
130
132 {
134 });
135
137}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
UActorComponent * GetOrCreateSpawnSystem(UPARAM(meta=(MustImplement="/Script/CK_UE.SpawnSystemInterface")) TSubclassOf< UActorComponent > SpawnSystemClass)
Definition EncounterActivationCommand.h:13
void Initialize(AEncounterField *InEncounterField)
Definition EncounterActivationCommand.cpp:8
Definition EnemySpawnDirectorSystemComponent.h:75
void ClearRegisteredSpawners()
Definition EnemySpawnDirectorSystemComponent.cpp:57
ASpawnHub * GetOrCreateSpawnHub()
Definition StageManagementSubsystem.cpp:98
FOnWaveManagerReadyToSpawning ReadyToSpawn
Definition StageManagementSubsystem.h:233
FName Section_ID
Definition DT_SectionTable.h:20
const FWaveDataCollection * GetWaveTable() const
Definition StageManifest.cpp:674
FDT_SectionTable SectionTable
Definition StageManifest.h:148
FName Wave_ID
Definition StageManifest.h:95